JavaScript is required. Please enable it to continue.
Your browser lacks required capabilities. Please upgrade it or switch to another to continue.
Loading…
!!<<print $city.name>> City Council A new month begins. What would you like to do? <table> <tr><td> [[ [1] Palace|palace]] [[ [2] Laws|laws]] [[ [3] Security|security]] [[ [4] City|city]] [[ [5] Food|farms]] [[ [6] Production|industry]] [[ [7] Research|tech]] [[ [8] Resources|resources]] [[ [9] Workers|workers]] </td> <td> Go to the palace, the personal residence of the $gt.title. Open the lawbook, and consider making some changes. Visit the barracks to review your security situation. Work in City Hall, to review finances and city services Inspect the farms, to manage food production. Visit the workshops, the manufacturing heart of the city. Visit the labs, to review the technological progress of the city. Read the reports about production and expenditures. Review the labor ledger, for an overview of the workforce. </td> </tr> </table> [[ [Enter] End Turn|turnHandler]]
/* Base stats */ <<set $turn to 1, $year to 2347, $month to random(1,12) >> <<set $baseFarmProd to 1.5, $baseFoodDecayRate to 3, $baseScrapProd to 1, $basePopGrowth to 0.010, $basePopDeath to 0.008, $baseGrowthRate to 0.5, $baseLackOfFoodHappinessDrop to 15, $baseFavorDecayRate to 2, $baseWrathDecayRate to 2, $baseFarmerTax to 0.2, $baseScavengerTax to 0.4, $baseServiceTax to 0.8, $baseFreePopTax to 0, $baseEngineerTax to 0, $baseScientistTax to -0.4, $baseGuardTax to -0.2, $baseServantTax to -0.2, $baseSafetyDecayRate to 5, $baseLandPerGuard to 20, $basePopPerGuard to 2000, $guardsSafetyCap to 50, $basePopPerService to 10, $baseFeetPerServant to 10, $baseHappinessDecayRate to 5, $servantsSatisfactionCap to 50, $basePopPerService to 500, $baseApprovalDecayRate to 5, $upgradeCostMult to 1, $baseProgressPerEngineer to 1, $baseProgressPerScientist to 1 >> /* giant stats */ /* stats are on a 1-100 scale, with 50 being average */ /* size tracks the height in feet */ <<set $gt to { name: "Unknown", title: "Lady", customTitle: "none", sex: "female", trueAge: 20, apparentAge: 20, hairColor: "black", eyeColor: "blue", skinColor: "fair", ethnicity: "caucasian", appearance: "feminine", size: 30, weight: 50, muscles: 50, boobs: 50, ass: 50, dick: 50, health: 50, energy: 50, hungerBase: 1, hungerAdjusted: 1/100, lustBase: 1, funBase: 1, socialBase: 1, mood: "indifferent", happiness: 50, humanity: 50, trust: 50, favor: 0, wrath: 0, fame: 0, dread: 0, armor: "none", weapon: "none", traits: [] } >> /* City stats */ /* point of land/food is equal to what is needed to feed 100 for 1 month */ <<set $city to { name: "Dustspring", pop: 4000 + random(0,500), land: 50, foodStored: 100, scrap: 100, money: 100, approval: 20, safety: 20 } >> /* worker stats */ <<set $workers to { freePops: Math.trunc($city.pop / 100), farmers: 0, scavengers: 0, service: 0, guards: 0, scientists: 0, engineers: 0, servants: 0 } >> /* Engineering */ <<set $constructionQueue to []>> /* Research */ <<set $researchQueue to []>> /* scheduled tasks */ <<set $clearFields to 0, $abandonFields to 0 >> /* gameovers */ <<set $gameover to { pop: 0, wrath: 0 } >> /* Upgrades */ <<display "upgradesInit">> /* tech */ <<display "researchInit">> /* Auxiliary variables */ <<set $physicalTrait to "none", $historyTrait to "none", $gtFoodConsumption to 0, $cityFoodConsumption to 0, $foodConsumed to 0, $foodProduced to 0, $foodTraded to 0, $notEnoughFoodProduced to false, $foodScarcity to false, $turnsOfFamine to 0, $foodDeficit to 0, $foodLost to 0, $lostToHunger to 0, $newborn to 0, $naturalDead to 0, $migrants to 0, $popDiff to 0, $growth to 0, $taxRevenue to 0, $farmTax to 0, $scavTax to 0, $serviceTax to 0, $guardTax to 0, $engineerTax to 0, $scientistTax to 0, $freePopTax to 0, $income to 0, $guardsRequired to 0, $serviceRequired to 0, $servantsRequired to 0, $farmersRequired to 0, $safetyChange to 0, $approvalChange to 0, $satisfactionChange to 0, $areReqMatched to false, $farmsLastVisited to "farmsFields", $workshopLastVisited to "workshopEngineering" $secLastVisited to "secGuards", $palaceLastVisited to "palaceServants", $cityLastVisited to "cityService", $resLastVisited to "resFood", $scrapConsumed to 0, $currentProject to "none", $finishedProject to "none", $techLastVisited to "techScientists", $currentResearch to "none", $finishedResearch to "none" >> /* Variables for statistics */ <<set $old to { pop: 0, land: 0, foodStored: 0, foodConsumed: 0, foodProduced: 0, safety: 0, happiness: 0, approval: 0 } >>
!!End Of Month Report <<nobr>> <<button "General">><<replace "#report">><br><<display "generalReport">><</replace>><</button>> <<button "The Palace">><<replace "#report">>''The <<print $gt.title>>'': <br><<display "gtReport">><</replace>><</button>> <<button "Population">><<replace "#report">>''Population'': <br><<display "popReport">><</replace>><</button>> <<button "Security">><<replace "#report">>''Security'': <br><<display "securityReport">><</replace>><</button>> <<button "Finances">><<replace "#report">>''Finance'': <br><<display "financeReport">><</replace>><</button>> <<button "Food">><<replace "#report">>''Food'': <br><<display "foodReport">><</replace>><</button>> <<button "Engineering">><<replace "#report">>''Engineering'': <br><<display "engineeringReport">><</replace>><</button>> <<button "Research">><<replace "#report">>''Research'': <br><<display "researchReport">><</replace>><</button>> <</nobr>> <span id="report"> <<display "generalReport">> </span> [[ [Spacebar] Continue|mainWindow]] <<checkWorkerCount>>
!!The Labor Ledger Here you can see all workers in the city, and their assignments. For a more detailed explanation about each role and requirements, see their relative page. <<updateAllRequired>> <div class="workerGrid"> <div class="grid-item"> ''Free workers'': @@color:yellow;<<print $workers.freePops>>@@ <<display "general worker buttons">> </div> <div class="grid-item"> ''Farmers'': @@color:yellow;<<print $workers.farmers>>@@/@@color:yellow;<<print $farmersRequired>>@@. Max: @@color:yellow;<<print $city.land>>@@ <<display "farm buttons">> </div> <div class="grid-item"> ''Servants'': @@color:yellow;<<print $workers.servants>>@@/@@color:yellow;<<print Math.trunc($gt.size / $baseFeetPerServant)>>@@. <<display "servant buttons">> </div> <div class="grid-item"> ''Military'': @@color:yellow;<<print $workers.guards>>@@/@@color:yellow;<<print Math.trunc($city.land / $baseLandPerGuard) + Math.trunc($city.pop / $basePopPerGuard)>>@@ <<display "guards buttons simple">> </div> <div class="grid-item"> ''Service Workers'': @@color:yellow;<<print $workers.service>>@@/@@color:yellow;<<print Math.trunc($city.pop / $basePopPerService)>>@@ <<display "service buttons">> </div> <div class="grid-item"> ''Scavengers'': @@color:yellow;<<print $workers.scavengers>>@@ <<display "scrap buttons">> </div> <div class="grid-item"> ''Engineers'': @@color:yellow;<<print $workers.engineers>>@@ <<display "engineer buttons simple">> </div> <div class="grid-item"> ''Scientists'': @@color:yellow;<<print $workers.scientists>>@@ <<display "scientist buttons simple">> </div> <div class="grid-item"> [Placeholder] </div> </div> [[ [Spacebar] Back|mainWindow]]
<<widget p>><<if $gt.sex is "female">>she<<else>>he<</if>><</widget>> <<widget pc>><<if $gt.sex is "female">>She<<else>>He<</if>><</widget>> <<widget pp>><<if $gt.sex is "female">>her<<else>>his<</if>><</widget>> <<widget ppc>><<if $gt.sex is "female">>Her<<else>>His<</if>><</widget>> <<widget po>><<if $gt.sex is "female">>her<<else>>him<</if>><</widget>> <<widget poc>><<if $gt.sex is "female">>Her<<else>>Him<</if>><</widget>> <<widget gender>><<if $gt.sex is "female">>woman<<else>>man<</if>><</widget>> <<widget genderC>><<if $gt.sex is "female">>Woman<<else>>Man<</if>><</widget>> <<widget sex>><<if $gt.sex is "female">>female<<else>>male<</if>><</widget>> <<widget sexC>><<if $gt.sex is "female">>Female<<else>>Male<</if>><</widget>>
<<nobr>> /* quick update to relevant variables */ <<updateFoodConsumption>> Add: /* buttons */ <<if $workers.freePops >= 1 && ($workers.farmers + 1) <= $city.land>> <<link "1">> <<set $workers.freePops-->> <<set $workers.farmers++>> <<goto "workers">> <</link>> <<else>> 1 <</if>>| <<if $workers.freePops >= 5 && ($workers.farmers + 5) <= $city.land>> <<link "5">> <<set $workers.freePops to $workers.freePops - 5>> <<set $workers.farmers to $workers.farmers + 5>> <<goto "workers">> <</link>> <<else>> 5 <</if>>| <<if $workers.freePops >= 10 && ($workers.farmers + 10) <= $city.land>> <<link "10">> <<set $workers.freePops to $workers.freePops - 10>> <<set $workers.farmers to $workers.farmers + 10>> <<goto "workers">> <</link>> <<else>> 10 <</if>>| <<if $workers.freePops >= 20 && ($workers.farmers + 20) <= $city.land>> <<link "20">> <<set $workers.freePops to $workers.freePops - 20>> <<set $workers.farmers to $workers.farmers + 20>> <<goto "workers">> <</link>> <<else>> 20 <</if>>| <<if $workers.freePops >= 50 && ($workers.farmers + 50) <= $city.land>> <<link "50">> <<set $workers.freePops to $workers.freePops - 50>> <<set $workers.farmers to $workers.farmers + 50>> <<goto "workers">> <</link>> <<else>> 50 <</if>> <</nobr>> <<nobr>> Remove: <<if $workers.farmers >= 1>> <<link "1">> <<set $workers.freePops++>> <<set $workers.farmers-->> <<goto "workers">> <</link>> <<else>> 1 <</if>>| <<if $workers.farmers >= 5>> <<link "5">> <<set $workers.freePops to $workers.freePops + 5>> <<set $workers.farmers to $workers.farmers - 5>> <<goto "workers">> <</link>> <<else>> 5 <</if>>| <<if $workers.farmers >= 10>> <<link "10">> <<set $workers.freePops to $workers.freePops + 10>> <<set $workers.farmers to $workers.farmers - 10>> <<goto "workers">> <</link>> <<else>> 10 <</if>>| <<if $workers.farmers >= 20>> <<link "20">> <<set $workers.freePops to $workers.freePops + 20>> <<set $workers.farmers to $workers.farmers - 20>> <<goto "workers">> <</link>> <<else>> 20 <</if>>| <<if $workers.farmers >= 50>> <<link "50">> <<set $workers.freePops to $workers.freePops + 50>> <<set $workers.farmers to $workers.farmers - 50>> <<goto "workers">> <</link>> <<else>> 50 <</if>> <</nobr>> <<nobr>> <<if $farmersRequired > $workers.farmers && $workers.freePops >= $farmersRequired && $workers.farmers < $city.land && $farmersRequired <= $city.land>> <<link "Auto">> <<if $workers.freePops > ($farmersRequired - $workers.farmers)>> <<set $workers.freePops to $workers.freePops - ($farmersRequired - $workers.farmers)>> <<set $workers.farmers to $farmersRequired>> <<goto "workers">> <<else>> <<set $workers.farmers to $workers.farmers + $workers.freePops>> <<set $workers.freePops to 0>> <<goto "workers">> <</if>> <</link>> <<else>> Auto <</if>>| <<if $workers.freePops >= 1 && $workers.farmers < $city.land>> <<link "Add All">> <<if $workers.freePops > ($city.land - $workers.farmers)>> <<set $workers.freePops to $workers.freePops - ($city.land - $workers.farmers)>> <<set $workers.farmers to $city.land>> <<goto "workers">> <<else>> <<set $workers.farmers to $workers.farmers + $workers.freePops>> <<set $workers.freePops to 0>> <<goto "workers">> <</if>> <</link>> <<else>> Add All <</if>>| <<if $workers.farmers > 0>> <<link "Remove All">> <<set $workers.freePops to $workers.freePops + $workers.farmers>> <<set $workers.farmers to 0>> <<goto "workers">> <</link>> <<else>> Remove All <</if>> <</nobr>>
<<if $old.land < $city.land>>As planned, @@color:yellow;<<print $city.land - $old.land>>@@ fields were cleared and they are ready for use. <<elseif $old.land > $city.land>>As planned, @@color:yellow;<<print $old.land - $city.land>>@@ fields were abandoned. <</if>>This month, the city has produced $foodProduced units of food, while $foodConsumed were consumed.<<if $foodScarcity>> The city is short @@color:red;$foodDeficit@@ units and its granaries are @@color:red;empty@@, some of your citizens will have to go hungry.<<elseif $notEnoughFoodProduced>> The city is not producing enough food to support itself, you have lost @@color:red;<<print $old.foodStored - $city.foodStored>>@@ units of stored food. With $city.foodStored units left in storage, your reserves will be exhausted in <<print Math.trunc($city.foodStored / ($foodConsumed - $foodProduced))>> months.<<elseif ($foodProduced - $foodConsumed) > 0>> There is a surplus of @@color:lightGreen;<<print $foodProduced - $foodConsumed>>@@ units of food. <</if>> <<if $foodLost > 0>>Some of your stored food has spoiled, you lost @@color:red;$foodLost@@ units this month. <</if>>Your granaries contain $city.foodStored units.
<<nobr>> /* The food consumption fo the giant is equal to its relative scale factor (number of times they are larger than a 6 ft human) to the power of three, all mutiplied for his/her base hunger value */ /* For normal humans, one unit of food feeds 100 people */ /* Updating variables */ <<set $old.land to $city.land>> <<set $old.foodStored to $city.foodStored>> <<set $old.foodConsumed to $foodConsumed>> <<set $old.foodProduced to $foodProduced>> /* Managing fields */ <<if $clearFields > 0>> <<set $city.land to $city.land + $clearFields>> <<set $clearFields to 0>> <<elseif $abandonFields > 0>> <<set $city.land to $city.land - $abandonFields>> <<set $abandonFields to 0>> <<if $workers.farmers > $city.land>> <<set $workers.freePops to $workers.freePops + ($workers.farmers - $city.land)>> <<set $workers.farmers to $city.land>> <</if>> <</if>> <<updateFoodConsumption>> <<set $foodProduced to Math.trunc($workers.farmers * ($baseFarmProd + $farmerUpgradeBonus))>> /* Calculation */ <<if $city.foodStored + $foodProduced < $foodConsumed>> <<set $foodScarcity to true>> <<set $turnsOfFamine++>> <<set $foodDeficit to $foodConsumed - ($city.foodStored + $foodProduced)>> <<set $city.foodStored to 0>> <<elseif $foodProduced < $foodConsumed>> <<if $turnsOfFamine > 0>> <<set $turnsOfFamine to Math.clamp($turnsOfFamine - 1, 0, $turnsOfFamine)>> <</if>> <<set $notEnoughFoodProduced to true>> <<set $foodScarcity to false>> <<set $foodDeficit to 0>> <<set $city.foodStored to Math.trunc($city.foodStored + $foodProduced - $foodConsumed)>> <<else>> <<if $turnsOfFamine > 0>> <<set $turnsOfFamine to Math.clamp($turnsOfFamine - 2, 0, $turnsOfFamine)>> <</if>> <<set $foodScarcity to false>> <<set $notEnoughFoodProduced to false>> <<set $foodDeficit to 0>> <<set $city.foodStored to Math.trunc($city.foodStored + $foodProduced - $foodConsumed)>> <</if>> /* food decay */ <<set $foodLost to Math.trunc($city.foodStored * $baseFoodDecayRate / 100)>> <<if $foodLost >= 1>> <<set $city.foodStored to $city.foodStored - $foodLost>> <<else>> <<set $foodLost to 0>> <</if>> <</nobr>>
<<widget updateAllRequired>><<nobr>> <<updateFoodConsumption>> <<updateServantsRequired>> <<updateServiceRequired>> <<updateGuardsRequired>> <</nobr>><</widget>> <<widget updateFoodConsumption>><<nobr>> <<set $scaleFactor to $gt.size / 6>> <<set $gtFoodConsumption to Math.trunc($gt.hungerAdjusted * ($scaleFactor * $scaleFactor * $scaleFactor))>> <<if $gtFoodConsumption < 1>> <<set $gtFoodConsumption to 1>> <</if>> <<set $cityFoodConsumption to Math.trunc($city.pop / 100)>> <<set $foodConsumed to $gtFoodConsumption + $cityFoodConsumption + $foodTraded>> <<set $farmersRequired to Math.trunc($foodConsumed / ($baseFarmProd + $farmerUpgradeBonus))>> <<if Math.trunc($farmersRequired * ($baseFarmProd + $farmerUpgradeBonus)) < $foodConsumed>> <<set $farmersRequired++>> <</if>> <</nobr>><</widget>> <<widget updateFoodProduction>><<nobr>> <<set $foodProduced to Math.trunc($workers.farmers * ($baseFarmProd + $farmerUpgradeBonus))>> <</nobr>><</widget>> <<widget updateGuardsRequired>><<nobr>> <<set $guardsRequired to (Math.trunc($city.land / $baseLandPerGuard) + Math.trunc($city.pop / $basePopPerGuard))>> <</nobr>><</widget>> <<widget updateServantsRequired>><<nobr>> <<set $servantsRequired to Math.trunc($gt.size / $baseFeetPerServant)>> <</nobr>><</widget>> <<widget updateServiceRequired>><<nobr>> <<set $serviceRequired to Math.trunc($city.pop / $basePopPerService)>> <</nobr>><</widget>> <<widget readjustWorkers>><<nobr>> <<set _actualWorkerCount to Math.trunc($city.pop / 100)>> <<set _oldFarm to $workers.farmers, $workers.farmers to 0>> <<set _oldScav to $workers.scavengers, $workers.scavengers to 0>> <<set _oldSol to $workers.guards, $workers.guards to 0>> <<set _oldServ to $workers.servants, $workers.servants to 0>> <<set _oldEngi to $workers.engineers, $workers.engineers to 0>> <<set _oldScie to $workers.scientists, $workers.scientists to 0>> <<set _oldService to $workers.service, $workers.service to 0>> <<set $workerDiff to 0>> <<if _actualWorkerCount > 0 && _actualWorkerCount >= _oldFarm && _oldFarm > 0>> <<set $workers.farmers to _oldFarm>> <<set _actualWorkerCount to (_actualWorkerCount - _oldFarm)>> <<elseif _actualWorkerCount > 0 && _actualWorkerCount < _oldFarm>> <<set $workers.farmers to _actualWorkerCount>> <<set _actualWorkerCount to 0>> <</if>> <<if _actualWorkerCount > 0 && _actualWorkerCount >= _oldServ && _oldServ > 0>> <<set $workers.servants to _oldServ>> <<set _actualWorkerCount to (_actualWorkerCount - _oldServ)>> <<elseif _actualWorkerCount > 0 && _actualWorkerCount < _oldServ>> <<set $workers.servants to _actualWorkerCount>> <<set _actualWorkerCount to 0>> <</if>> <<if _actualWorkerCount > 0 && _actualWorkerCount >= _oldService && _oldService > 0>> <<set $workers.service to _oldService>> <<set _actualWorkerCount to (_actualWorkerCount - _oldService)>> <<elseif _actualWorkerCount > 0 && _actualWorkerCount < _oldService>> <<set $workers.service to _actualWorkerCount>> <<set _actualWorkerCount to 0>> <</if>> <<if _actualWorkerCount > 0 && _actualWorkerCount >= _oldSol && _oldSol > 0>> <<set $workers.guards to _oldSol>> <<set _actualWorkerCount to (_actualWorkerCount - _oldSol)>> <<elseif _actualWorkerCount > 0 && _actualWorkerCount < _oldSol>> <<set $workers.guards to _actualWorkerCount>> <<set _actualWorkerCount to 0>> <</if>> <<if _actualWorkerCount > 0 && _actualWorkerCount >= _oldScav && _oldScav > 0>> <<set $workers.scavengers to _oldScav>> <<set _actualWorkerCount to (_actualWorkerCount - _oldScav)>> <<elseif _actualWorkerCount > 0 && _actualWorkerCount < _oldScav>> <<set $workers.scavengers to _actualWorkerCount>> <<set _actualWorkerCount to 0>> <</if>> <<if _actualWorkerCount > 0 && _actualWorkerCount >= _oldEngi && _oldEngi > 0>> <<set $workers.engineers to _oldEngi>> <<set _actualWorkerCount to (_actualWorkerCount - _oldEngi)>> <<elseif _actualWorkerCount > 0 && _actualWorkerCount < _oldEngi>> <<set $workers.engineers to _actualWorkerCount>> <<set _actualWorkerCount to 0>> <</if>> <<if _actualWorkerCount > 0 && _actualWorkerCount >= _oldScie && _oldScie > 0>> <<set $workers.scientists to _oldScie>> <<set _actualWorkerCount to (_actualWorkerCount - _oldScie)>> <<elseif _actualWorkerCount > 0 && _actualWorkerCount < _oldScie>> <<set $workers.scientists to _actualWorkerCount>> <<set _actualWorkerCount to 0>> <</if>> <<if _actualWorkerCount > 0>> <<set $workers.freePops to _actualWorkerCount>> <</if>> <<if Math.trunc($old.pop / 100) != Math.trunc($city.pop / 100)>> <<set $workerDiff to Math.trunc(($city.pop / 100) - ($old.pop / 100))>> <</if>> <</nobr>><</widget>>
<<nobr>> Add: <<if $workers.freePops >= 1>> <<link "1">> <<set $workers.freePops-->> <<set $workers.scavengers++>> <<goto "workers">> <</link>> <<else>> 1 <</if>>| <<if $workers.freePops >= 5>> <<link "5">> <<set $workers.freePops to $workers.freePops - 5>> <<set $workers.scavengers to $workers.scavengers + 5>> <<goto "workers">> <</link>> <<else>> 5 <</if>>| <<if $workers.freePops >= 10>> <<link "10">> <<set $workers.freePops to $workers.freePops - 10>> <<set $workers.scavengers to $workers.scavengers + 10>> <<goto "workers">> <</link>> <<else>> 10 <</if>>| <<if $workers.freePops >= 20>> <<link "20">> <<set $workers.freePops to $workers.freePops - 20>> <<set $workers.scavengers to $workers.scavengers + 20>> <<goto "workers">> <</link>> <<else>> 20 <</if>>| <<if $workers.freePops >= 50>> <<link "50">> <<set $workers.freePops to $workers.freePops - 50>> <<set $workers.scavengers to $workers.scavengers + 50>> <<goto "workers">> <</link>> <<else>> 50 <</if>> <</nobr>> <<nobr>> Remove: <<if $workers.scavengers >= 1>> <<link "1">> <<set $workers.freePops++>> <<set $workers.scavengers-->> <<goto "workers">> <</link>> <<else>> 1 <</if>>| <<if $workers.scavengers >= 5>> <<link "5">> <<set $workers.freePops to $workers.freePops + 5>> <<set $workers.scavengers to $workers.scavengers - 5>> <<goto "workers">> <</link>> <<else>> 5 <</if>>| <<if $workers.scavengers >= 10>> <<link "10">> <<set $workers.freePops to $workers.freePops + 10>> <<set $workers.scavengers to $workers.scavengers - 10>> <<goto "workers">> <</link>> <<else>> 10 <</if>>| <<if $workers.scavengers >= 20>> <<link "20">> <<set $workers.freePops to $workers.freePops + 20>> <<set $workers.scavengers to $workers.scavengers - 20>> <<goto "workers">> <</link>> <<else>> 20 <</if>>| <<if $workers.scavengers >= 50>> <<link "50">> <<set $workers.freePops to $workers.freePops + 50>> <<set $workers.scavengers to $workers.scavengers - 50>> <<goto "workers">> <</link>> <<else>> 50 <</if>> <</nobr>> <<nobr>> <<if $workers.freePops >= 1>> <<link "Add All">> <<set $workers.scavengers to $workers.scavengers + $workers.freePops>> <<set $workers.freePops to 0>> <<goto "workers">> <</link>> <<else>> Add All <</if>> | <<if $workers.scavengers > 0>> <<link "Remove All">> <<set $workers.freePops to $workers.freePops + $workers.scavengers>> <<set $workers.scavengers to 0>> <<goto "workers">> <</link>> <<else>> Remove All <</if>> <</nobr>>
<<set $turn++>> <<set $month++>> <<if $month >= 13>> <<set $year++>> <<set $month to 1>> <</if>> <<display "foodCalc">> <<display "scrapCalc">> <<display "popCalc">> <<display "gtCalc">> <<display "financeCalc">> <<display "securityCalc">> <<display "constructionCalc">> <<display "researchCalc">> /* Game Over states */ <<if $city.pop < 100>> /* If city goes under 100, the game is over */ gameover <<set $gameover.pop to 1>> <<goto "gameover">> <<elseif $gt.wrath >= 100>> /* With wrath at 100, 10% chance of dying + 10% for every 10 points above 100 */ <<set _roll to random(1,100)>> <<if _roll < (10 + 10 * Math.trunc($gt.wrath / 10)>> <<set $gameover.wrath to 1>> <<goto "gameover">> <</if>> <</if>> <<goto "turnReport">> /* [[continue|turnReport]] */
Our scavengers were able to collect <<print Math.trunc($workers.scavengers * $baseScrapProd)>> units of scrap this month. <<display "constructionReport">>
<<nobr>> /* Calculation */ <<set $city.scrap to Math.trunc($city.scrap + $workers.scavengers * $baseScrapProd)>> /* Scrap consumption */ <</nobr>>
This month, $newborn children joined the workforce, while $naturalDead citizens left the workforce due to age or death by natural causes. <<if $foodScarcity>>@@color:red;<<print $lostToHunger>>@@ citizens were lost to hunger.<</if>> <<if $migrants != 0>><<if $migrants < 0>><<set $migrants to $migrants * -1>> <<print $migrants>> people left the city.<<else>> <<print $migrants>> people migrated to the city.<</if>><</if>> <<if $popDiff < 0>><<set $popDiff to $popDiff * -1>> Overall, the city lost @@color:red;<<print $popDiff>>@@ citizens this month.<<else>>Overall, the city gained @@color:lightGreen;<<print $popDiff>>@@ citizens.<</if>> <<if $workerDiff != 0>>This month we <<if $old.pop > $city.pop>>had to disband @@color:red;<<print $workerDiff>>@@ squads of workers due to population loss.<<else>>managed to assemble @@color:lightGreen;<<print $workerDiff>>@@ new worker units.<</if>><</if>>
<<nobr>> /* Updating variables */ <<set $old.pop to $city.pop>> <<set $lostToHunger to 0>> <<set $newborn to 0>> <<set $naturalDead to 0>> <<set $migrants to 0>> <<set $migrationPush to 0>> <<set $workerDiff to 0>> /* Calculation */ /* famine */ <<if $foodScarcity>> <<set _percentDeficitAdjusted to Math.clamp($foodDeficit / $foodConsumed, 0, 0.15)>> <<set $lostToHunger to Math.trunc($city.pop * _percentDeficitAdjusted * ($turnsOfFamine / 2))>> <</if>> /* Births */ <<set $newborn to Math.trunc($city.pop * $basePopGrowth + random(-5,5))>> /* Natural deaths */ <<set $naturalDead to Math.trunc($city.pop * $basePopDeath + random(-5,5))>> /* Migration */ /* Negative migration will make people emigrate, positive will make people immigrate */ <<if $foodScarcity>> <<set $migrationPush to $migrationPush - Math.clamp($turnsOfFamine, 0, 20)>> <</if>> <<if $gt.fame > 0>> /* Every 20 points of giant's fame is an extra point of immigration */ <<set $migrationPush to $migrationPush + Math.trunc($gt.fame / 20)>> <</if>> <<if $gt.dread > 0>> /* Every 20 points of giant's dread is an extra point of emigration */ <<set $migrationPush to $migrationPush - Math.trunc($gt.dread / 20)>> <</if>> <<if $city.safety > 0>> /* Every 20 points of safety is an extra point of immigration */ <<set $migrationPush to $migrationPush + Math.trunc($city.safety / 20)>> <</if>> /* Migration push then becomes a percentage of the current population */ <<set $migrants to Math.trunc($city.pop * ($migrationPush / 500))>> /* Final calc */ <<set $popDiff to $newborn + $migrants - $naturalDead - $lostToHunger>> <<set $city.pop to $city.pop + $popDiff>> /* updating worker count */ <<if Math.trunc($old.pop / 100) != Math.trunc($city.pop / 100)>> <<readjustWorkers>> <</if>> <</nobr>>
<<if $growth > 0>>The <<print $gt.title>> has grown $growth feet this last month.<<else>>The <<print $gt.title>> has not grown this month.<</if>><<if $satisfactionChange > 0>> The <<print $gt.title>>'s happiness @@color:lightGreen;improved@@ in these last few weeks.<<elseif $satisfactionChange < 0>> The <<print $gt.title>>'s happiness @@color:red;worsened@@ in these last few weeks.<</if>><<if $favorChange > 0>> Your favor with the $gt.title has @@color:lightGreen;increased@@ recently.<<elseif $favorChange < 0>> Your favor with the $gt.title has @@color:red;decreased@@ recently.<</if>><<if $wrathChange < 0>> The $gt.title's wrath towards you has @@color:lightGreen;softened@@.<<elseif $wrathChange > 0>> The $gt.title's wrath towards you @@color:red;intensified@@.<</if>>
<<nobr>> /* Updating variables */ <<updateServantsRequired>> <<set $growth to 0>> <<set $satisfactionChange to 0>> <<set $favorChange to 0>> <<set $wrathChange to 0>> <<set $old.happiness to $gt.happiness>> /* Growth */ <<if !$foodScarcity>> <<set $growth to $baseGrowthRate + 0.2 * random(-1,1)>> <<set $gt.size to $gt.size + $growth>> <</if>> /* happiness */ /* food */ <<if $foodScarcity>> <<set $satisfactionChange to $satisfactionChange - Math.clamp(($baseLackOfFoodHappinessDrop * $turnsOfFamine),-30, 0)>> <</if>> /* Servants */ <<set _satisfactionRating to Math.clamp($workers.servants / $servantsRequired, 0, 2)>> /* if satisfaction is under the servants cap moderated by the actual servant count, then it grows by 0% to 10%, depending on the amount of servants */ /* otherwise it goes down by the default rate */ <<if $gt.happiness < _satisfactionRating * $servantsSatisfactionCap>> <<set $satisfactionChange to _satisfactionRating * 5>> <<elseif $gt.happiness != _satisfactionRating * $servantsSatisfactionCap && $gt.happiness > 0>> <<set $satisfactionChange to -1 * $baseHappinessDecayRate>> <</if>> /* Final calculation */ <<set $gt.happiness to Math.trunc(Math.clamp($gt.happiness + $satisfactionChange, 0, 100))>> /* Favor */ <<if $gt.happiness >= 60>> <<set $favorChange to $favorChange + Math.trunc(Math.clamp((100 - $gt.happiness) / 5 + 1, 1, 5))>> <</if>> <<set $gt.favor to Math.clamp($gt.favor + $favorChange - $baseFavorDecayRate, 0, 100)>> /* Wrath */ <<if $gt.happiness <= 40>> <<set $wrathChange to $wrathChange + Math.trunc(Math.clamp($gt.happiness / 5 + 1, 1, 5))>> <</if>> <<if $turnsOfFamine >= 3>> <<set $wrathChange to $wrathChange + $turnsOfFamine>> <</if>> <<set $gt.wrath to Math.clamp($gt.wrath + $wrathChange - $baseWrathDecayRate, 0, 100)>> <</nobr>>
!!The Palace <<set _title to "The " + $gt.title>> <<nobr>> <<button "Servants">><<set $palaceLastVisited to "palaceServants">><<replace "#screen">><<display "palaceServants">><</replace>><</button>> <<button _title>><<set $palaceLastVisited to "palaceGiant">><<replace "#screen">><<display "palaceGiant">><</replace>><</button>> <<button "Upgrades">><<set $palaceLastVisited to "palaceUpgrades">><<replace "#screen">><<display "palaceUpgrades">><</replace>><</button>> <</nobr>> <span id="screen"><<display $palaceLastVisited>></span> [[ [Spacebar] Back|mainWindow]]
!!The Farms <<nobr>> <<button "Fields">><<set $farmsLastVisited to "farmsFields">><<replace "#screen">><<display "farmsFields">><</replace>><</button>> <<button "Workers">><<set $farmsLastVisited to "farmsWorkers">><<replace "#screen">><<display "farmsWorkers">><</replace>><</button>> <<button "Upgrades">><<set $farmsLastVisited to "farmsUpgrades">><<replace "#screen">><<display "farmsUpgrades">><</replace>><</button>> <</nobr>> <span id="screen"><<display $farmsLastVisited>></span> [[ [Spacebar] Back|mainWindow]]
!!The City <<nobr>><<button "Service">><<set $cityLastVisited to "cityService">><<replace "#screen">><<display "cityService">><</replace>><</button>> <<button Finances>><<set $cityLastVisited to "cityFinances">><<replace "#screen">><<display "cityFinances">><</replace>><</button>> <<button "Buildings">><<set $cityLastVisited to "cityBuildings">><<replace "#screen">><<display "cityBuildings">><</replace>><</button>> <</nobr>> <span id="screen"><<display $cityLastVisited>></span> [[ [Spacebar] Back|mainWindow]]
!!The Labs <<nobr>> <<button "Scientists">><<set $techLastVisited to "techScientists">><<replace "#screen">><<display "techScientists">><</replace>><</button>> <<button "Research">><<set $techLastVisited to "techResearch">><<replace "#screen">><<display "techResearch">><</replace>><</button>> <<button "Upgrades">><<set $techLastVisited to "techUpgrades">><<replace "#screen">><<display "techUpgrades">><</replace>><</button>> <</nobr>> <span id="screen"><<display $techLastVisited>></span> [[ [Spacebar] Back|mainWindow]]
It is the year 2347. Three centuries ago, the old world was devastated, its population shattered, its monuments to technology and culture broken and buried. Humanity is a shadow of its former self: Where billions stood, now a sickly few remain. The end of the old world coincided with the emergence of the giants, humans with size to rival the Gods of the ancients. Their origin is unknown, as is their involvement in the fall of the old world. But what happened in the far past has little importance, the planet has a new apex species, and humanity finds itself forced to live in dark holes, or bend the knee and serve their titanic masters, trading freedom for protection from their peers. The world is a fragmented constellation of small kingdoms, controlled by a single giant who rules supreme, and the rare free enclave forever skulking away in the shadows, hoping for another day without giants. You lived in one of these, a free, if spartan existence. That is, until a young giant came, saw, and conquered your little slice of Earth. Seemingly uninterested in the day to day management of their newly aquired domain, the new ruler has tasked you with managing it in their name. You will have to keep the small town you call home from collapsing, and cater to the ever growing needs and desires of your new overlord. The penalty for failure, of course, is a painful death. [[Continue|customization]] [[Skip|mainWindow]]
The $gt.title never revealed to you <<pp>> true name. You never really needed to know, <<p>> prohibited anyone from using anything else than <<pp>> chosen title. ''Sex'':<<nobr>> <<sexC>> | <<link "Switch">> <<if $gt.sex == "female">> <<set $gt.sex to "male">> <<set $gt.appearance to "masculine">> <<set $gt.title to "Lord">> <<goto "customization">> <<else>> <<set $gt.sex to "female">> <<set $gt.appearance to "feminine">> <<set $gt.title to "Lady">> <<goto "customization">> <</if>> <</link>> <</nobr>> ''Name'': <<textbox "$gt.name" "Unknown">> ''Title'': <<nobr>><<if $gt.sex == "female">> <<listbox "$gt.title" autoselect>> <<option "Lady">> <<option "Empress">> <<option "Queen">> <<option "Princess">> <<option "Duchess">> <<option "Giantess">> <<option "Governess">> <<option "Mistress">> <<option "Ruler">> <<option "Overlord">> <<option "Guardian">> <</listbox>> <<else>> <<listbox "$gt.title" autoselect>> <<option "Lord">> <<option "Emperor">> <<option "King">> <<option "Prince">> <<option "Giant">> <<option "Duke">> <<option "Governor">> <<option "Master">> <<option "Ruler">> <<option "Overlord">> <<option "Guardian">> <</listbox>> <</if>><</nobr>> Appearance: <<listbox "$gt.appearance" autoselect>> <<option "feminine">> <<option "masculine">> <<option "androgynous">> <</listbox>> Ethnicity: <<listbox "$gt.ethnicity" autoselect>> <<option "caucasian">> <<option "asian">> <<option "black">> <<option "native">> <<option "hispanic">> <</listbox>> Skin Tone: <<listbox "$gt.skinColor" autoselect>> <<option "pale">> <<option "fair">> <<option "olive">> <<option "tan">> <<option "brown">> <<option "dark brown">> <</listbox>> Hair Color: <<listbox "$gt.hairColor" autoselect>> <<option "black">> <<option "brown">> <<option "red">> <<option "blonde">> <<option "white">> <</listbox>> Eye Color: <<listbox "$gt.eyeColor" autoselect>> <<option "brown">> <<option "hazel">> <<option "green">> <<option "blue">> <<option "gray">> <</listbox>> While you may have questions about <<pp>> moral fiber, questions that you take care to keep for yourself, you cannot deny <<p>> is a <<if $gt.sex is "female">>beautiful<<else>> handsome<</if>> <<gender>>. What always strikes you the most about <<pp>>, however is <<pp>>: <<nobr>> <<if $physicalTrait != "girth">> <<link "Impressive Girth">> <<set $physicalTrait to "girth">> <<goto "customization">> <</link>> <<else>> Impressive Girth <</if>>| <<if $physicalTrait != "muscles">> <<link "Powerful Musculature">> <<set $physicalTrait to "muscles">> <<goto "customization">> <</link>> <<else>> Powerful Musculature <</if>>| <<if $gt.sex is "female">> <<if $physicalTrait != "chest">> <<link "Generous Chest">> <<set $physicalTrait to "chest">> <<goto "customization">> <</link>> <<else>> Generous Chest <</if>>| <<else>> <<if $physicalTrait != "dick">> <<link "Large Member">> <<set $physicalTrait to "dick">> <<goto "customization">> <</link>> <<else>> Large Member <</if>>| <</if>> <<if $physicalTrait != "ass">> <<link "Considerable Behind">> <<set $physicalTrait to "ass">> <<goto "customization">> <</link>> <<else>> Considerable Behind <</if>> <</nobr>> <<link "Continue">> <<if $physicalTrait is "girth">> <<set $gt.weight to 75>> <<elseif $physicalTrait is "muscles">> <<set $gt.muscles to 75>> <<elseif $physicalTrait is "chest">> <<set $gt.boobs to 75>> <<elseif $physicalTrait is "dick">> <<set $gt.dick to 75>> <<else>> <<set $gt.ass to 75>> <</if>> <<goto "history">> <</link>>
Before <<p>> came to the town you call home, it was a free territory, one of the last. Everyone knew it was only a matter of time before a giant would claim it from themselves, but they all still hoped your little island of peace would last forever. Of course, it was not the case. The $gt.title is young and small, for a giant. <<pc>> came from the east looking for a place to call <<pp>> own, where <<p>> could grow <<pp>> power in peace, away from the cutthroat life of the more densely populated regions. City name: <<textbox "$city.name" "Dustspring">> [Placeholder for trait selection] [[Continue|mainWindow]] <<if $gt.customTitle != "none">> <<set $gt.title to $gt.customTitle>> <</if>>
!!Production and Consumption Reports <<nobr>><<button "Food">><<set $resLastVisited to "resFood">><<replace "#screen">><<display "resFood">><</replace>><</button>> <<button Finances>><<set $resLastVisited to "resFinances">><<replace "#screen">><<display "resFinances">><</replace>><</button>> <<button "Scrap">><<set $resLastVisited to "resScrap">><<replace "#screen">><<display "resScrap">><</replace>><</button>> <</nobr>> <span id="screen"><<display $resLastVisited>></span> [[ [Spacebar] Back|mainWindow]]
!!The Workshops <<nobr>> <<button "Engineering">><<set $workshopLastVisited to "workshopEngineering">><<replace "#screen">><<display "workshopEngineering">><</replace>><</button>> <<button "Scavenging Ops">><<set $workshopLastVisited to "workshopScav">><<replace "#screen">><<display "workshopScav">><</replace>><</button>> <<button "Upgrades">><<set $workshopLastVisited to "workshopUpgrades">><<replace "#screen">><<display "workshopUpgrades">><</replace>><</button>> <</nobr>> <span id="screen"><<display $workshopLastVisited>></span> [[ [Spacebar] Back|mainWindow]]
The city's coffers this month have grown by @@color:lightGreen;<<print Math.trunc($income)>>@@ units of gold.
<<nobr>> /* update relevant variables */ <<set $taxRevenue to 0>> <<set $farmTax to 0>> <<set $scavTax to 0>> <<set $serviceTax to 0>> <<set $soldierTax to 0>> <<set $engineerTax to 0>> <<set $scientistTax to 0>> <<set $freePopTax to 0>> <<set $income to 0>> /* taxation */ <<set $farmTax to ($workers.farmers * $baseFarmerTax)>> <<set $scavTax to ($workers.scavengers * $baseScavengerTax)>> <<set $serviceTax to ($workers.service * $baseServiceTax)>> <<set $guardTax to ($workers.guards * $baseGuardTax)>> <<set $engineerTax to ($workers.engineers * $baseEngineerTax)>> <<set $scientistTax to ($workers.scientists * $baseScientistTax)>> <<set $freePopTax to ($workers.freePops * $baseFreePopTax)>> <<set $taxRevenue to ($farmTax + $scavTax + $serviceTax + $guardTax + $engineerTax + $scientistTax + $freePopTax)>> /* upkeep */ /* Final calculation */ <<set $income to $taxRevenue>> <<set $city.money to $city.money + $income>> <</nobr>>
<<if tags().includes('mainWindow') or tags().includes('menu')>><<print $year>>, <<month>> Turn <<print $turn>> <<calcTaxes>> The $gt.title: Size: <<print Math.trunc($gt.size)>> feet Happiness: <<nobr>> <<if $gt.happiness == 0>> @@color:red;<<print $gt.happiness>>/100@@ <<elseif $gt.happiness == 100>> @@color:lightGreen;<<print $gt.happiness>>/100@@ <<else>> <<print $gt.happiness>>/100 <</if>> <<if $gt.happiness > $old.happiness>> (@@color:lightGreen;<<print $gt.happiness - $old.happiness>>@@) <<elseif $gt.happiness < $old.happiness>> (@@color:red;<<print $gt.happiness - $old.happiness>>@@) <<else>> (@@color:yellow;0@@) <</if>><</nobr>> Mood: $gt.mood Favor: $gt.favor Wrath: $gt.wrath <<updateFoodConsumption>><<updateFoodProduction>> $city.name: Population: <<print $city.pop>> Treasury: <<print Math.trunc($city.money)>> (<<if $taxRevenue > 0>>@@color:lightGreen;+<<print $taxRevenue>>@@<<elseif $taxRevenue == 0>>@@color:yellow;<<print $taxRevenue>>@@<<else>>@@color:red;<<print $taxRevenue>>@@<</if>>) Approval: <<nobr>> <<if $city.approval == 0>> @@color:red;<<print $city.approval>>/100@@ <<elseif $city.approval == 100>> @@color:lightGreen;<<print $city.approval>>/100@@ <<else>> <<print $city.approval>>/100 <</if>> <<if $city.approval > $old.approval>> (@@color:lightGreen;<<print $city.approval - $old.approval>>@@) <<elseif $city.approval < $old.approval>> (@@color:red;<<print $city.approval - $old.approval>>@@) <<else>> (@@color:yellow;0@@) <</if>><</nobr>> Safety: <<nobr>> <<if $city.safety == 0>> @@color:red;<<print $city.safety>>/100@@ <<elseif $city.safety == 100>> @@color:lightGreen;<<print $city.safety>>/100@@ <<else>> <<print $city.safety>>/100 <</if>> <<if $city.safety > $old.safety>> (@@color:lightGreen;<<print $city.safety - $old.safety>>@@) <<elseif $city.safety < $old.safety>> (@@color:red;<<print $city.safety - $old.safety>>@@) <<else>> (@@color:yellow;0@@) <</if>><</nobr>> Food: <<if $foodProduced - $foodConsumed < 0>>@@color:red;<<print $foodProduced - $foodConsumed>>@@<<elseif $foodProduced - $foodConsumed == 0>>@@color:yellow;<<print $foodProduced - $foodConsumed>>@@<<else>>@@color:lightGreen;+<<print $foodProduced - $foodConsumed>>@@<</if>> | $city.foodStored Scrap: $city.scrap <</if>>
<<widget areReqMatched>><<nobr>> <<updateFoodConsumption>> <<updateServantsRequired>> <<updateGuardsRequired>> <<updateServiceRequired>> <<set $areReqMatched to true>> <<if $farmersRequired > $workers.farmers>> <<set $areReqMatched to false>> <<elseif $servantsRequired > $workers.servants>> <<set $areReqMatched to false>> <<elseif $serviceRequired > $workers.service>> <<set $areReqMatched to false>> <<elseif $soldiersRequired > $workers.soldiers>> <<set $areReqMatched to false>> <</if>> <</nobr>><</widget>> <<widget month>><<nobr>> <<if $month is 1>> January <<elseif $month is 2>> February <<elseif $month is 3>> March <<elseif $month is 4>> April <<elseif $month is 5>> May <<elseif $month is 6>> June <<elseif $month is 7>> July <<elseif $month is 8>> August <<elseif $month is 9>> September <<elseif $month is 10>> October <<elseif $month is 11>> November <<elseif $month is 12>> December <<else>> Error <</if>> <</nobr>><</widget>> <<widget calcTaxes>><<nobr>> <<set $taxRevenue to 0>> <<set $farmTax to 0>> <<set $scavTax to 0>> <<set $serviceTax to 0>> <<set $soldierTax to 0>> <<set $engineerTax to 0>> <<set $scientistTax to 0>> <<set $freePopTax to 0>> <<set $farmTax to ($workers.farmers * $baseFarmerTax)>> <<set $scavTax to ($workers.scavengers * $baseScavengerTax)>> <<set $serviceTax to ($workers.service * $baseServiceTax)>> <<set $soldierTax to ($workers.guards * $baseGuardTax)>> <<set $engineerTax to ($workers.engineers * $baseEngineerTax)>> <<set $scientistTax to ($workers.scientists * $baseScientistTax)>> <<set $freePopTax to ($workers.freePops * $baseFreePopTax)>> <<set $taxRevenue to ($farmTax + $scavTax + $serviceTax + $soldierTax + $engineerTax + $scientistTax + $freePopTax)>> <</nobr>><</widget>>
[WiP] [[ [Spacebar] Back|mainWindow]]
<<nobr>> /* Update relevant variables */ <<updateGuardsRequired>> Add: <<if $workers.freePops >= 1>> <<link "1">> <<set $workers.freePops-->> <<set $workers.guards++>> <<goto "workers">> <</link>> <<else>> 1 <</if>>| <<if $workers.freePops >= 5>> <<link "5">> <<set $workers.freePops to $workers.freePops - 5>> <<set $workers.guards to $workers.guards + 5>> <<goto "workers">> <</link>> <<else>> 5 <</if>>| <<if $workers.freePops >= 10>> <<link "10">> <<set $workers.freePops to $workers.freePops - 10>> <<set $workers.guards to $workers.guards + 10>> <<goto "workers">> <</link>> <<else>> 10 <</if>>| <<if $workers.freePops >= 20>> <<link "20">> <<set $workers.freePops to $workers.freePops - 20>> <<set $workers.guards to $workers.guards + 20>> <<goto "workers">> <</link>> <<else>> 20 <</if>>| <<if $workers.freePops >= 50>> <<link "50">> <<set $workers.freePops to $workers.freePops - 50>> <<set $workers.guards to $workers.guards + 50>> <<goto "workers">> <</link>> <<else>> 50 <</if>> <</nobr>> <<nobr>>Remove: <<if $workers.guards >= 1>> <<link "1">> <<set $workers.freePops++>> <<set $workers.guards-->> <<goto "workers">> <</link>> <<else>> 1 <</if>>| <<if $workers.guards >= 5>> <<link "5">> <<set $workers.freePops to $workers.freePops + 5>> <<set $workers.guards to $workers.guards - 5>> <<goto "workers">> <</link>> <<else>> 5 <</if>>| <<if $workers.guards >= 10>> <<link "10">> <<set $workers.freePops to $workers.freePops + 10>> <<set $workers.guards to $workers.guards - 10>> <<goto "workers">> <</link>> <<else>> 10 <</if>>| <<if $workers.guards >= 20>> <<link "20">> <<set $workers.freePops to $workers.freePops + 20>> <<set $workers.guards to $workers.guards - 20>> <<goto "workers">> <</link>> <<else>> 20 <</if>>| <<if $workers.guards >= 50>> <<link "50">> <<set $workers.freePops to $workers.freePops + 50>> <<set $workers.guards to $workers.guards - 50>> <<goto "workers">> <</link>> <<else>> 50 <</if>> <</nobr>> <<nobr>> <<if $guardsRequired > $workers.guards && $workers.freePops >= ($guardsRequired - $workers.guards)>> <<link "Auto">> <<if $workers.freePops > ($guardsRequired - $workers.guards)>> <<set $workers.freePops to $workers.freePops - ($guardsRequired - $workers.guards)>> <<set $workers.guards to $guardsRequired>> <<goto "workers">> <<else>> <<set $workers.guards to $workers.guards + $workers.freePops>> <<set $workers.freePops to 0>> <<goto "workers">> <</if>> <</link>> <<else>> Auto <</if>>| <<if $workers.freePops >= 1>> <<link "Add All">> <<set $workers.guards to $workers.guards + $workers.freePops>> <<set $workers.freePops to 0>> <<goto "workers">> <</link>> <<else>> Add All <</if>> | <<if $workers.guards > 0>> <<link "Empty">> <<set $workers.freePops to $workers.freePops + $workers.guards>> <<set $workers.guards to 0>> <<goto "workers">> <</link>> <<else>> Remove All <</if>> <</nobr>>
<<nobr>><<if $approvalChange > 0>>The citizens approve of your administration, your popularity has @@color:lightGreen;increased@@ this month<<elseif $approvalChange < 0>>The citizens are not happy about your policies, your popularity has @@color:red;decreased@@ this month<<else>>There were @@color:yellow;no major changes@@ to your popularity this month<</if>>.<</nobr>> <<nobr>>The city this month has <<if $safetyChange > 0>>become @@color:lightGreen;more secure@@<<else>>become @@color:red;less secure@@<</if>>. <<if $guardsRequired < $workers.guards>>There are plenty of guards patrolling the city's borders.<<if $safety < $guardsSafetyCap>> Soon bandits and roaming animals will become a distant threat.<</if>><<elseif $guardsRequired == $workers.guards>>There are enough guards to guarantee a decent amount of protection to the citizens.<<if $safety < $guardsSafetyCap>> The threat in the countryside and the slums will slowly disappear.<</if>><<else>>There are not enough guards to protect the city and its land, the situation is bound to worsen eventually.<</if>><</nobr>>
<<nobr>> /* updating relevant variables */ <<updateguardsRequired>> <<updateServiceRequired>> <<set $safetyChange to 0>> <<set $approvalChange to 0>> <<set $old.safety to $city.safety>> <<set $old.approval to $city.approval>> /* safety */ <<set _safetyRating to Math.clamp($workers.guards / $guardsRequired, 0, 2)>> /* _safetyRating determines how fast safety grows, from 0 (with 0 guards) to 2 (with double the required amount or more) */ <<if $city.safety < _safetyRating * $guardsSafetyCap>> <<set $safetyChange to _safetyRating * 5>> <<elseif $city.safety != _safetyRating * $guardsSafetyCap && $city.safety > 0>> <<set $safetyChange to -1 * $baseSafetyDecayRate>> <</if>> /* approval */ <<set _approvalRating to Math.clamp($workers.service / $serviceRequired, 0, 2)>> /* _approvalRating determines how fast approval grows, from 0 (with 0 guards) to double (with double the required amount or more) */ <<if $city.approval < _approvalRating * $guardsSafetyCap>> <<set $approvalChange to _approvalRating * 5>> <<elseif $city.approval != _approvalRating * $guardsSafetyCap && $city.approval > 0>> <<set $approvalChange to -1 * $baseSafetyDecayRate>> <</if>> /* Famine */ <<if $foodScarcity>> <<set _lossDueToFoodScarcity to Math.clamp($foodConsumed / ($city.foodStored + $foodProduced) * 10, 0, 20)>> <<set $approvalChange to $approvalChange - _lossDueToFoodScarcity>> <</if>> /* Final calculation */ <<set $approvalChange to Math.trunc($approvalChange)>> <<set $safetyChange to Math.trunc($safetyChange)>> <<set $city.safety to Math.trunc(Math.clamp($city.safety + $safetyChange,0,100))>> <<set $city.approval to Math.trunc(Math.clamp($city.approval + $approvalChange, 0, 100))>> <</nobr>>
<<widget checkWorkerCount>><<nobr>> <<set _expectedWorkerCount to Math.trunc($city.pop / 100)>> <<set _workerCount to $workers.freePops + $workers.farmers + $workers.scavengers + $workers.engineers + $workers.scientists + $workers.servants + $workers.service + $workers.soldiers>> <<if _workerCount != _expectedWorkerCount>> @@color:red;ERROR: unexpected worker count@@ Expected: <<print _expectedWorkerCount>> Obtained: <<print _workerCount>> <</if>> <</nobr>><</widget>>
<<nobr>> /* Update relevant variables */ <<updateServantsRequired>> Add: <<if $workers.freePops >= 1>> <<link "1">> <<set $workers.freePops-->> <<set $workers.servants++>> <<goto "workers">> <</link>> <<else>> 1 <</if>>| <<if $workers.freePops >= 5>> <<link "5">> <<set $workers.freePops to $workers.freePops - 5>> <<set $workers.servants to $workers.servants + 5>> <<goto "workers">> <</link>> <<else>> 5 <</if>>| <<if $workers.freePops >= 10>> <<link "10">> <<set $workers.freePops to $workers.freePops - 10>> <<set $workers.servants to $workers.servants + 10>> <<goto "workers">> <</link>> <<else>> 10 <</if>>| <<if $workers.freePops >= 20>> <<link "20">> <<set $workers.freePops to $workers.freePops - 20>> <<set $workers.servants to $workers.servants + 20>> <<goto "workers">> <</link>> <<else>> 20 <</if>>| <<if $workers.freePops >= 50>> <<link "50">> <<set $workers.freePops to $workers.freePops - 50>> <<set $workers.servants to $workers.servants + 50>> <<goto "workers">> <</link>> <<else>> 50 <</if>> <</nobr>> <<nobr>>Remove: <<if $workers.servants >= 1>> <<link "1">> <<set $workers.freePops++>> <<set $workers.servants-->> <<goto "workers">> <</link>> <<else>> 1 <</if>>| <<if $workers.servants >= 5>> <<link "5">> <<set $workers.freePops to $workers.freePops + 5>> <<set $workers.servants to $workers.servants - 5>> <<goto "workers">> <</link>> <<else>> 5 <</if>>| <<if $workers.servants >= 10>> <<link "10">> <<set $workers.freePops to $workers.freePops + 10>> <<set $workers.servants to $workers.servants - 10>> <<goto "workers">> <</link>> <<else>> 10 <</if>>| <<if $workers.servants >= 20>> <<link "20">> <<set $workers.freePops to $workers.freePops + 20>> <<set $workers.servants to $workers.servants - 20>> <<goto "workers">> <</link>> <<else>> 20 <</if>>| <<if $workers.servants >= 50>> <<link "50">> <<set $workers.freePops to $workers.freePops + 50>> <<set $workers.servants to $workers.servants - 50>> <<goto "workers">> <</link>> <<else>> 50 <</if>> <</nobr>> <<nobr>> <<if $servantsRequired > $workers.servants && $workers.freePops >= ($servantsRequired - $workers.servants)>> <<link "Auto">> <<if $workers.freePops > ($servantsRequired - $workers.servants)>> <<set $workers.freePops to $workers.freePops - ($servantsRequired - $workers.servants)>> <<set $workers.servants to $servantsRequired>> <<goto "workers">> <<else>> <<set $workers.servants to $workers.servants + $workers.freePops>> <<set $workers.freePops to 0>> <<goto "workers">> <</if>> <</link>> <<else>> Auto <</if>>| <<if $workers.freePops >= 1>> <<link "Add All">> <<set $workers.servants to $workers.servants + $workers.freePops>> <<set $workers.freePops to 0>> <<goto "workers">> <</link>> <<else>> Add All <</if>> | <<if $workers.servants > 0>> <<link "Remove All">> <<set $workers.freePops to $workers.freePops + $workers.servants>> <<set $workers.servants to 0>> <<goto "workers">> <</link>> <<else>> Remove All <</if>> <</nobr>>
<<nobr>> /* Update relevant variables */ <<updateServiceRequired>> Add: <<if $workers.freePops >= 1>> <<link "1">> <<set $workers.freePops-->> <<set $workers.service++>> <<goto "workers">> <</link>> <<else>> 1 <</if>>| <<if $workers.freePops >= 5>> <<link "5">> <<set $workers.freePops to $workers.freePops - 5>> <<set $workers.service to $workers.service + 5>> <<goto "workers">> <</link>> <<else>> 5 <</if>>| <<if $workers.freePops >= 10>> <<link "10">> <<set $workers.freePops to $workers.freePops - 10>> <<set $workers.service to $workers.service + 10>> <<goto "workers">> <</link>> <<else>> 10 <</if>>| <<if $workers.freePops >= 20>> <<link "20">> <<set $workers.freePops to $workers.freePops - 20>> <<set $workers.service to $workers.service + 20>> <<goto "workers">> <</link>> <<else>> 20 <</if>>| <<if $workers.freePops >= 50>> <<link "50">> <<set $workers.freePops to $workers.freePops - 50>> <<set $workers.service to $workers.service + 50>> <<goto "workers">> <</link>> <<else>> 50 <</if>> <</nobr>> <<nobr>>Remove: <<if $workers.service >= 1>> <<link "1">> <<set $workers.freePops++>> <<set $workers.service-->> <<goto "workers">> <</link>> <<else>> 1 <</if>>| <<if $workers.service >= 5>> <<link "5">> <<set $workers.freePops to $workers.freePops + 5>> <<set $workers.service to $workers.service - 5>> <<goto "workers">> <</link>> <<else>> 5 <</if>>| <<if $workers.service >= 10>> <<link "10">> <<set $workers.freePops to $workers.freePops + 10>> <<set $workers.service to $workers.service - 10>> <<goto "workers">> <</link>> <<else>> 10 <</if>>| <<if $workers.service >= 20>> <<link "20">> <<set $workers.freePops to $workers.freePops + 20>> <<set $workers.service to $workers.service - 20>> <<goto "workers">> <</link>> <<else>> 20 <</if>>| <<if $workers.service >= 50>> <<link "50">> <<set $workers.freePops to $workers.freePops + 50>> <<set $workers.service to $workers.service - 50>> <<goto "workers">> <</link>> <<else>> 50 <</if>> <</nobr>> <<nobr>> <<if $serviceRequired > $workers.service && $workers.freePops >= ($serviceRequired - $workers.service)>> <<link "Auto">> <<if $workers.freePops > ($serviceRequired - $workers.service)>> <<set $workers.freePops to $workers.freePops - ($serviceRequired - $workers.service)>> <<set $workers.service to $serviceRequired>> <<goto "workers">> <<else>> <<set $workers.service to $workers.service + $workers.freePops>> <<set $workers.freePops to 0>> <<goto "workers">> <</if>> <</link>> <<else>> Auto <</if>>| <<if $workers.freePops >= 1>> <<link "Add All">> <<set $workers.service to $workers.service + $workers.freePops>> <<set $workers.freePops to 0>> <<goto "workers">> <</link>> <<else>> Add All <</if>> | <<if $workers.service > 0>> <<link "Remove All">> <<set $workers.freePops to $workers.freePops + $workers.service>> <<set $workers.service to 0>> <<goto "workers">> <</link>> <<else>> Remove All <</if>> <</nobr>>
<<nobr>> <<link "Add 1">> <<if $abandonFields >= 1>> <<set $abandonFields to $abandonFields - 1>> <<goto "farms">> <<else>> <<set $clearFields to $clearFields + 1>> <<goto "farms">> <</if>> <</link>> | <<link "Add 5">> <<set _fields to 5>> <<if $abandonFields >= _fields>> <<set $abandonFields to $abandonFields - _fields>> <<goto "farms">> <<elseif $abandonFields > 0>> <<set _fields to _fields - $abandonFields>> <<set $abandonFields to 0>> <<set $clearFields to $clearFields + _fields>> <<goto "farms">> <<else>> <<set $clearFields to $clearFields + _fields>> <<goto "farms">> <</if>> <</link>> | <<link "Add 10">> <<set _fields to 10>> <<if $abandonFields >= _fields>> <<set $abandonFields to $abandonFields - _fields>> <<goto "farms">> <<elseif $abandonFields > 0>> <<set _fields to _fields - $abandonFields>> <<set $abandonFields to 0>> <<set $clearFields to $clearFields + _fields>> <<goto "farms">> <<else>> <<set $clearFields to $clearFields + _fields>> <<goto "farms">> <</if>> <</link>> | <<link "Add 20">> <<set _fields to 20>> <<if $abandonFields >= _fields>> <<set $abandonFields to $abandonFields - _fields>> <<goto "farms">> <<elseif $abandonFields > 0>> <<set _fields to _fields - $abandonFields>> <<set $abandonFields to 0>> <<set $clearFields to $clearFields + _fields>> <<goto "farms">> <<else>> <<set $clearFields to $clearFields + _fields>> <<goto "farms">> <</if>> <</link>> | <<link "Add 50">> <<set _fields to 50>> <<if $abandonFields >= _fields>> <<set $abandonFields to $abandonFields - _fields>> <<goto "farms">> <<elseif $abandonFields > 0>> <<set _fields to _fields - $abandonFields>> <<set $abandonFields to 0>> <<set $clearFields to $clearFields + _fields>> <<goto "farms">> <<else>> <<set $clearFields to $clearFields + _fields>> <<goto "farms">> <</if>> <</link>> | <<link "Add 100">> <<set _fields to 100>> <<if $abandonFields >= _fields>> <<set $abandonFields to $abandonFields - _fields>> <<goto "farms">> <<elseif $abandonFields > 0>> <<set _fields to _fields - $abandonFields>> <<set $abandonFields to 0>> <<set $clearFields to $clearFields + _fields>> <<goto "farms">> <<else>> <<set $clearFields to $clearFields + _fields>> <<goto "farms">> <</if>> <</link>> | <<if (Math.trunc($foodConsumed / $baseFarmProd) + ($clearFields - $abandonFields)) != $city.land>> <<link "Match Requirement">> <<set $clearFields to 0>> <<set $abandonFields to 0>> <<set _fields to Math.trunc($foodConsumed / $baseFarmProd)>> <<if $city.land > _fields>> <<set $abandonFields to ($city.land - _fields)>> <<goto "farms">> <<else>> <<set $clearFields to ($city.land - _fields)>> <<goto "farms">> <</if>> <</link>> <<else>> Match requirement <</if>> <</nobr>> <<nobr>> <<if $city.land >= 1 + $abandonFields>> <<link "Remove 1">> <<set _fields to 1>> <<if $clearFields >= _fields>> <<set $clearFields to $clearFields - _fields>> <<goto "farms">> <<elseif $clearFields > 0>> <<set _fields to _fields - $clearFields>> <<set $clearFields to 0>> <<set $abandonFields to $abandonFields + _fields>> <<goto "farms">> <<else>> <<set $abandonFields to $abandonFields + _fields>> <<goto "farms">> <</if>> <</link>> <<else>> Remove 1 <</if>> | <<if $city.land >= 5 + $abandonFields>> <<link "Remove 5">> <<set _fields to 5>> <<if $clearFields >= _fields>> <<set $clearFields to $clearFields - _fields>> <<goto "farms">> <<elseif $clearFields > 0>> <<set _fields to _fields - $clearFields>> <<set $clearFields to 0>> <<set $abandonFields to $abandonFields + _fields>> <<goto "farms">> <<else>> <<set $abandonFields to $abandonFields + _fields>> <<goto "farms">> <</if>> <</link>> <<else>> Remove 5 <</if>> | <<if $city.land >= 10 + $abandonFields>> <<link "Remove 10">> <<set _fields to 10>> <<if $clearFields >= _fields>> <<set $clearFields to $clearFields - _fields>> <<goto "farms">> <<elseif $clearFields > 0>> <<set _fields to _fields - $clearFields>> <<set $clearFields to 0>> <<set $abandonFields to $abandonFields + _fields>> <<goto "farms">> <<else>> <<set $abandonFields to $abandonFields + _fields>> <<goto "farms">> <</if>> <</link>> <<else>> Remove 10 <</if>> | <<if $city.land >= 20 + $abandonFields>> <<link "Remove 20">> <<set _fields to 20>> <<if $clearFields >= _fields>> <<set $clearFields to $clearFields - _fields>> <<goto "farms">> <<elseif $clearFields > 0>> <<set _fields to _fields - $clearFields>> <<set $clearFields to 0>> <<set $abandonFields to $abandonFields + _fields>> <<goto "farms">> <<else>> <<set $abandonFields to $abandonFields + _fields>> <<goto "farms">> <</if>> <</link>> <<else>> Remove 20 <</if>> | <<if $city.land >= 50 + $abandonFields>> <<link "Remove 50">> <<set _fields to 50>> <<if $clearFields >= _fields>> <<set $clearFields to $clearFields - _fields>> <<goto "farms">> <<elseif $clearFields > 0>> <<set _fields to _fields - $clearFields>> <<set $clearFields to 0>> <<set $abandonFields to $abandonFields + _fields>> <<goto "farms">> <<else>> <<set $abandonFields to $abandonFields + _fields>> <<goto "farms">> <</if>> <</link>> <<else>> Remove 50 <</if>> | <<if $city.land >= 100 + $abandonFields>> <<link "Remove 100">> <<set _fields to 100>> <<if $clearFields >= _fields>> <<set $clearFields to $clearFields - _fields>> <<goto "farms">> <<elseif $clearFields > 0>> <<set _fields to _fields - $clearFields>> <<set $clearFields to 0>> <<set $abandonFields to $abandonFields + _fields>> <<goto "farms">> <<else>> <<set $abandonFields to $abandonFields + _fields>> <<goto "farms">> <</if>> <</link>> <<else>> Remove 100 <</if>> <</nobr>>
!!The Barracks <<nobr>> <<button "Guards">><<set $secLastVisited to "secGuards">><<replace "#screen">><<display "secGuards">><</replace>><</button>> <<button "Army">><<set $secLastVisited to "secArmy">><<replace "#screen">><<display "secArmy">><</replace>><</button>> <<button "Upgrades">><<set $secLastVisited to "secUpgrades">><<replace "#screen">><<display "secUpgrades">><</replace>><</button>> <</nobr>> <span id="screen"><<display $secLastVisited>></span> [[ [Spacebar] Back|mainWindow]]
<<nobr>> /* quick update to relevant variables */ <<updateFoodConsumption>> /* buttons */ <<if $workers.freePops >= 1 && ($workers.farmers + 1) <= $city.land>> <<link "Add 1">> <<set $workers.freePops-->> <<set $workers.farmers++>> <<goto "farms">> <</link>> <<else>> Add 1 <</if>>| <<if $workers.freePops >= 5 && ($workers.farmers + 5) <= $city.land>> <<link "Add 5">> <<set $workers.freePops to $workers.freePops - 5>> <<set $workers.farmers to $workers.farmers + 5>> <<goto "farms">> <</link>> <<else>> Add 5 <</if>>| <<if $workers.freePops >= 10 && ($workers.farmers + 10) <= $city.land>> <<link "Add 10">> <<set $workers.freePops to $workers.freePops - 10>> <<set $workers.farmers to $workers.farmers + 10>> <<goto "farms">> <</link>> <<else>> Add 10 <</if>>| <<if $workers.freePops >= 20 && ($workers.farmers + 20) <= $city.land>> <<link "Add 20">> <<set $workers.freePops to $workers.freePops - 20>> <<set $workers.farmers to $workers.farmers + 20>> <<goto "farms">> <</link>> <<else>> Add 20 <</if>>| <<if $workers.freePops >= 50 && ($workers.farmers + 50) <= $city.land>> <<link "Add 50">> <<set $workers.freePops to $workers.freePops - 50>> <<set $workers.farmers to $workers.farmers + 50>> <<goto "farms">> <</link>> <<else>> Add 50 <</if>>| <<if $workers.freePops >= 100 && ($workers.farmers + 100) <= $city.land>> <<link "Add 100">> <<set $workers.freePops to $workers.freePops - 100>> <<set $workers.farmers to $workers.farmers + 100>> <<goto "farms">> <</link>> <<else>> Add 100 <</if>>| <<if $farmersRequired > $workers.farmers && $workers.freePops >= $farmersRequired && $workers.farmers < $city.land && $farmersRequired <= $city.land>> <<link "Match food consumption">> <<if $workers.freePops > ($farmersRequired - $workers.farmers)>> <<set $workers.freePops to $workers.freePops - ($farmersRequired - $workers.farmers)>> <<set $workers.farmers to $farmersRequired>> <<goto "farms">> <<else>> <<set $workers.farmers to $workers.farmers + $workers.freePops>> <<set $workers.freePops to 0>> <<goto "farms">> <</if>> <</link>> <<else>> Match food consumption <</if>>| <<if $workers.freePops >= 1 && $workers.farmers < $city.land>> <<link "Fill">> <<if $workers.freePops > ($city.land - $workers.farmers)>> <<set $workers.freePops to $workers.freePops - ($city.land - $workers.farmers)>> <<set $workers.farmers to $city.land>> <<goto "farms">> <<else>> <<set $workers.farmers to $workers.farmers + $workers.freePops>> <<set $workers.freePops to 0>> <<goto "farms">> <</if>> <</link>> <<else>> Fill <</if>> <</nobr>> <<nobr>> <<if $workers.farmers >= 1>> <<link "Remove 1">> <<set $workers.freePops++>> <<set $workers.farmers-->> <<goto "farms">> <</link>> <<else>> Add 1 <</if>>| <<if $workers.farmers >= 5>> <<link "Remove 5">> <<set $workers.freePops to $workers.freePops + 5>> <<set $workers.farmers to $workers.farmers - 5>> <<goto "farms">> <</link>> <<else>> Add 5 <</if>>| <<if $workers.farmers >= 10>> <<link "Remove 10">> <<set $workers.freePops to $workers.freePops + 10>> <<set $workers.farmers to $workers.farmers - 10>> <<goto "farms">> <</link>> <<else>> Remove 10 <</if>>| <<if $workers.farmers >= 20>> <<link "Remove 20">> <<set $workers.freePops to $workers.freePops + 20>> <<set $workers.farmers to $workers.farmers - 20>> <<goto "farms">> <</link>> <<else>> Remove 20 <</if>>| <<if $workers.farmers >= 50>> <<link "Remove 50">> <<set $workers.freePops to $workers.freePops + 50>> <<set $workers.farmers to $workers.farmers - 50>> <<goto "farms">> <</link>> <<else>> Remove 50 <</if>>| <<if $workers.farmers >= 100>> <<link "Remove 100">> <<set $workers.freePops to $workers.freePops + 100>> <<set $workers.farmers to $workers.farmers - 100>> <<goto "farms">> <</link>> <<else>> Remove 100 <</if>>| <<if $workers.farmers > 0>> <<link "Empty">> <<set $workers.freePops to $workers.freePops + $workers.farmers>> <<set $workers.farmers to 0>> <<goto "farms">> <</link>> <<else>> Empty <</if>> <</nobr>>
<<nobr>> <<if $workers.freePops < Math.trunc($city.pop / 100)>> <<link "Unassign All">> <<set $workers.freePops to Math.trunc($city.pop / 100)>> <<set $workers.farmers to 0>> <<set $workers.service to 0>> <<set $workers.scavengers to 0>> <<set $workers.servants to 0>> <<set $workers.engineers to 0>> <<set $workers.guards to 0>> <<set $workers.scientists to 0>> <<goto "workers">> <</link>> <<else>> Unassign All <</if>> <</nobr>> <<nobr>> <<if $workers.freePops > 0>> <<areReqMatched>> <</if>> <<if $areReqMatched is false && $workers.freePops > 0>> <<link "Autoassign">> <<if $farmersRequired > $workers.farmers>> <<if $workers.freePops > ($farmersRequired - $workers.farmers)>> <<set $workers.freePops to $workers.freePops - ($farmersRequired - $workers.farmers)>> <<set $workers.farmers to $farmersRequired>> <<goto "workers">> <<else>> <<set $workers.farmers to $workers.farmers + $workers.freePops>> <<set $workers.freePops to 0>> <<goto "workers">> <</if>> <</if>> <<if $servantsRequired > $workers.servants && $workers.freePops > 0>> <<if $workers.freePops > ($servantsRequired - $workers.servants)>> <<set $workers.freePops to $workers.freePops - ($servantsRequired - $workers.servants)>> <<set $workers.servants to $servantsRequired>> <<goto "workers">> <<else>> <<set $workers.servants to $workers.servants + $workers.freePops>> <<set $workers.freePops to 0>> <<goto "workers">> <</if>> <</if>> <<if $serviceRequired > $workers.service && $workers.freePops > 0>> <<if $workers.freePops > ($serviceRequired - $workers.service)>> <<set $workers.freePops to $workers.freePops - ($serviceRequired - $workers.service)>> <<set $workers.service to $serviceRequired>> <<goto "workers">> <<else>> <<set $workers.service to $workers.service + $workers.freePops>> <<set $workers.freePops to 0>> <<goto "workers">> <</if>> <</if>> <<if $guardsRequired > $workers.guards && $workers.freePops > 0>> <<if $workers.freePops > ($guardsRequired - $workers.guards)>> <<set $workers.freePops to $workers.freePops - ($guardsRequired - $workers.guards)>> <<set $workers.guards to $guardsRequired>> <<goto "workers">> <<else>> <<set $workers.guards to $workers.guards + $workers.freePops>> <<set $workers.freePops to 0>> <<goto "workers">> <</if>> <</if>> <</link>> <<else>> Autoassign <</if>> <</nobr>>
<<updateAllRequired>> <div class="grid-container"> <div class="grid-item"> ''Farmers'': @@color:yellow;<<print $workers.farmers>>@@/@@color:yellow;<<print $farmersRequired>>@@. Max farmers: $city.land <<display "farm buttons">> </div> <div class="grid-item"> ''Scavenging'': Collecting scrap from the old world ruins. Currently, $workers.scavengers worker units are assigned to scavenge duty. They can produce around <<print Math.trunc($workers.scavengers * $baseScrapProd)>> units of scrap per month. <<display "scrap buttons">> </div> <div class="grid-item"> ''Military'': To effectively protect the city and its rural land, you need about <<print Math.trunc($city.land / $baseLandPerSoldier) + Math.trunc($city.pop / $basePopPerSoldier)>> squads of soldiers. Currently, $workers.soldiers squads are out patrolling. <<display "soldier buttons">> </div> <div class="grid-item"> ''City Services'': Service workers are workers dedicated to the wellbeing of the citizens: Cleaners, cooks, teachers, doctors, and more. The city needs <<print Math.trunc($city.pop / $basePopPerService)>> service worker teams to function well. Currently, it employs <<print $workers.service>>. <<display "service buttons">> </div> <div class="grid-item"> ''The $gt.title Servants'': For <<pp>> personal care, the $gt.title requires <<print Math.trunc($gt.size / $baseFeetPerServant)>> squads of servants. Currently $workers.servants are assigned to <<pp>>. <<display "servant buttons">> </div> <div class="grid-item"> scientists </div> <div class="grid-item"> engineers </div> <div class="grid-item"> Free worker units: @@color:yellow;<<print $workers.freePops>>@@ <<display "general worker buttons">> </div> </div>
<<set $Strength to 5>> <<numberinput "$Strength" $Strength 1 20>> <<set $opacity to 1>> <<numberslider "$opacity" $opacity 0 10 0.5>> <<set $StatPool to 30, $ST to 1, $DX to 10, $IQ to 1, $HT to 1>> You have <span id="stat-pool">$StatPool</span> points remaining to allocate. <<numberpool "$StatPool">> |''ST:''|<<numberinput "$ST" $ST 1 $DX>>| |''DX:''|<<numberinput "$DX" $DX 1 20>>| |''IQ:''|<<numberinput "$IQ" $IQ 1 20>>| |''HT:''|<<numberinput "$HT" $HT 1 20>>| <<onchange>> <<replace "#stat-pool">>$StatPool<</replace>> <</numberpool>>
<<one 'keyup'>> /* Spacebar */ <<which 32>> <<if tags().includes('menu')>> <<goto "mainWindow">> <</if>> <<which 13>> <<if tags().includes('mainWindow')>> <<goto "turnConfirm">> <</if>> /* 1 to 9 */ <<which 49>> <<if tags().includes('mainWindow')>> <<goto "palace">> <</if>> <<which 50>> <<if tags().includes('mainWindow')>> <<goto "laws">> <</if>> <<which 51>> <<if tags().includes('mainWindow')>> <<goto "security">> <</if>> <<which 52>> <<if tags().includes('mainWindow')>> <<goto "city">> <</if>> <<which 53>> <<if tags().includes('mainWindow')>> <<goto "farms">> <</if>> <<which 54>> <<if tags().includes('mainWindow')>> <<goto "industry">> <</if>> <<which 55>> <<if tags().includes('mainWindow')>> <<goto "tech">> <</if>> <<which 56>> <<if tags().includes('mainWindow')>> <<goto "resources">> <</if>> <<which 57>> <<if tags().includes('mainWindow')>> <<goto "workers">> <</if>> <</one>>
/* <<if tags().includes('mainWindow')>> <<link "End Turn">> <<goto "turnHandler">> <</link>> <</if>> */
<div class="title"> Game Over! </div> <div class="subtitle"> <<if $gameover.pop == 1>> $city.name no longer exist, its population lays dead or fled. The $gt.title makes quick work of you, then leaves, looking for greener pastures to settle on. <<elseif $gameover.wrath == 1>> Your incompetence, or bad luck, brought the $gt.title to exasperation. Your trial was quick, your sentence quicker. Your life is over. <</if>> <<link "Restart">> <<script>>Engine.restart()<</script>> <</link>> </div>
!!End Of Month Report <<nobr>> <<button "General">><<replace "#report">><br><<display "generalReport">><</replace>><</button>> <<button "The Palace">><<replace "#report">>''<<print $gt.title>>'': <br><<display "gtReport">><</replace>><</button>> <<button "Population">><<replace "#report">>''Population'': <br><<display "popReport">><</replace>><</button>> <<button "Security">><<replace "#report">>''Security'': <br><<display "securityReport">><</replace>><</button>> <<button "Finances">><<replace "#report">>''Finance'': <br><<display "financeReport">><</replace>><</button>> <<button "Food">><<replace "#report">>''Food'': <br><<display "foodReport">><</replace>><</button>> <<button "Scavenging">><<replace "#report">>''Scavenging'': <br><<display "scrapReport">><</replace>><</button>> <</nobr>> <span id="report"> <<display "generalReport">> </span>
<table style="width:100%"> <tr> <th style="width:25%">The <<print $gt.title>></th> <th style="width:25%">Population</th> <th style="width:25%">security</th> <th style="width:25%">Finances</th> </tr> <tr> <td><<nobr>> <<if $growth > 0>> <br> Growth: @@color:lightGreen;$growth@@ <</if>> <<if $satisfactionChange > 0>> <br> Happiness: @@color:lightGreen;+<<print $satisfactionChange>>@@ <<elseif $satisfactionChange < 0>> <br> Happiness: @@color:red;<<print $satisfactionChange>>@@ <</if>> <<if $favorChange > 0>> <br> Favor: @@color:lightGreen;+<<print favorChange>>@@ <<elseif $favorChange < 0>> <br> Favor: @@color:red;<<print favorChange>>@@ <</if>> <<if $wrathChange > 0>> <br> Wrath: @@color:red;+<<print $wrathChange>>@@. <<elseif $wrathChange < 0>> <br> Wrath: @@color:lightGreen;<<print $wrathChange>>@@. <</if>> <</nobr>></td> <td><<nobr>> <<if $popDiff > 0>> <br> Citizens: @@color:lightGreen;+<<print $popDiff>>@@ <<elseif $popDiff < 0>> <br> Citizens: @@color:red;<<print $popDiff>>@@ <</if>> <<if $workerDiff != 0>> <<if $workerDiff > 0>> <br> Worker units: @@color:lightGreen;+<<print $workerDiff>>@@ <<elseif $workerDiff < 0>> <br> Worker Units: @@color:red;<<print $workerDiff>>@@ <</if>> <</if>> <</nobr>></td> <td><<nobr>> <<if $approvalChange > 0>> <br> Approval: @@color:lightGreen;+<<print $approvalChange>>@@ <<elseif $approvalChange < 0>> <br> Approval: @@color:red;<<print $approvalChange>>@@ <</if>> <<if $safetyChange > 0>> <br> Safety: @@color:lightGreen;+<<print $safetyChange>>@@ <<elseif $safetyChange < 0>> <br> Safety: @@color:red;<<print $safetyChange>>@@ <</if>> <</nobr>></td> </tr> <tr> <td colspan="4"><hr></td> </tr> <tr> <th>Food</th> <th>Engineering</th> <th>Research</th> <th>Placeholder</th> </tr> <tr> <td><<nobr>> <<if $old.land < $city.land>> <br> @@color:yellow;<<print $city.land - $old.land>>@@ fields cleared <<elseif $old.land > $city.land>> <br> @@color:yellow;<<print $old.land - $city.land>>@@ fields abandoned <</if>> <<if $foodProduced - $foodConsumed < 0>> <br> Balance: @@color:red;<<print $foodProduced - $foodConsumed>> <<elseif $foodProduced - $foodConsumed == 0>> <br> Balance: @@color:yellow;<<print $foodProduced - $foodConsumed>> <<else>> <br> Balance: @@color:lightGreen;<<print $foodProduced - $foodConsumed>> <</if>> <<if ($foodConsumed - $foodProduced) != 0>> <br> Stored: <<if Math.trunc($city.foodStored / ($foodConsumed - $foodProduced)) == 1>> @@color:yellow;1@@ month <<else>>@@color:yellow;<<print Math.trunc($city.foodStored / ($foodConsumed - $foodProduced))>>@@ months<</if>> <</if>> <br> Lost: <<if $foodLost > 0>>@@color:red;$foodLost@@<<else>>@@color:lightGreen;$foodLost@@<</if>> <</nobr>></td> <td><<nobr>> <br> Scrap collected: @@color:yellow;<<print Math.trunc($workers.scavengers * $baseScrapProd)>>@@ <<if $uIDCompleted > 0>> <br> $finishedProject was completed. <<else>> <<for _i to 0; _i lt $constructionQueue.length; _i++>> <<if $constructionQueue[_i].active>> <br> Current project: <<print $constructionQueue[_i].name>> ($constructionQueue[_i].progress/$constructionQueue[_i].cost) <</if>> <</for>> <</if>> <</nobr>></td> <td><<nobr>> <<if $rIDCompleted > 0>> <br> $finishedResearch was completed. <<else>> <<for _i to 0; _i lt $researchQueue.length; _i++>> <<if $researchQueue[_i].active>> <br> Current project: <<print $researchQueue[_i].name>> ($researchQueue[_i].progress/$researchQueue[_i].cost) <</if>> <</for>> <</if>> <</nobr>></td> <td>[Placeholder]</td> </tr> </table>
''Farmers'': The city currently employs @@color:yellow;<<print $workers.farmers>>@@ farmers. They can produce @@color:yellow;<<print Math.trunc($workers.farmers * $baseFarmProd)>>@@ units of food each month. The city need about @@color:yellow;<<print $foodConsumed>>@@ units of food each month. <<display "farmer buttons">>
''Avaliable'':<<nobr>> <<if !($pavedRoads.completed)>> <<if $city.money >= ($upgradeCostMult * 100) && !$pavedRoads.inQueue>> <br><<link "Paved Roads">> <<set $pavedRoads.inQueue to true>> <<set $constructionQueue.push($pavedRoads)>> <<set $city.money to $city.money - ($upgradeCostMult * 100)>> <<updateActive>> <<goto "farms">> <</link>> <br> //The rural land around the city could really use some improved roads, it would certainly benefit your farmers// <br> //+0.2 food per farmer// <<elseif $pavedRoads.inQueue>> <br>Paved Roads: In Construction <<else>> <br>Paved Roads: [Insufficient Funds] <</if>> <</if>> <</nobr>> ''Completed'':<<nobr>> <<if $pavedRoads.completed>> <br>Paved Roads: <br> The rural land around the city can count on on a sturdy network of roads, facilitating travel. <br> //+0.2 food per farmer// <</if>> <</nobr>>
''Fields'': The city controls @@color:yellow;<<print $city.land>>@@ fertile fields. Each can employ a unit of workers, but you will need an extra unit of guards every $baseLandPerguard fields, to protect your territory effectively. Currently, our fields require @@color:yellow;<<print Math.trunc($city.land / $baseLandPerGuard)>>@@ guards in total. With the current farming technology, the city needs @@color:yellow;<<print Math.trunc($foodConsumed / $baseFarmProd)>>@@ fields to feed its current population. You can schedule the clearing of new fields, or the abandonment of currently occupied ones. It will take a month for the work to be completed. <<display "fields buttons">> <<nobr>> <<if $clearFields > 0>>You are currently preparing @@color:yellow;<<print $clearFields>>@@ new fields<<elseif $abandonFields > 0>>You are currently planning to abandon @@color:yellow;<<print $abandonFields>>@@ fields. <</if>> <<if $clearFields != 0 or $abandonFields != 0>> <<link "CANCEL">> <<set $clearFields to 0>> <<set $abandonFields to 0>> <<goto "farms">> <</link>> <</if>> <</nobr>>
<<timed 0.1s>> <<goto "turnHandler">> <</timed>>
''Engineers'': The city currently employs @@color:yellow;<<print $workers.engineers>>@@ engineers. Each engineer contributes $baseProgressPerEngineer point of progress to the current project. <<display "engineer buttons">> <<display "constructionQueue">>
''Scavengers'': The city currently employs @@color:yellow;<<print $workers.scavengers>>@@ farmers. They can produce @@color:yellow;<<print Math.trunc($workers.scavengers * $baseScrapProd)>>@@ units of food each month. The city need about @@color:yellow;<<print $scrapConsumed>>@@ units of scrap each month. <<display "scavenger buttons">>
[WiP]
<<nobr>> <<if $workers.freePops >= 1>> <<link "Add 1">> <<set $workers.freePops-->> <<set $workers.scavengers++>> <<goto "workers">> <</link>> <<else>> Add 1 <</if>>| <<if $workers.freePops >= 5>> <<link "Add 5">> <<set $workers.freePops to $workers.freePops - 5>> <<set $workers.scavengers to $workers.scavengers + 5>> <<goto "workers">> <</link>> <<else>> Add 5 <</if>>| <<if $workers.freePops >= 10>> <<link "Add 10">> <<set $workers.freePops to $workers.freePops - 10>> <<set $workers.scavengers to $workers.scavengers + 10>> <<goto "workers">> <</link>> <<else>> Add 10 <</if>>| <<if $workers.freePops >= 20>> <<link "Add 20">> <<set $workers.freePops to $workers.freePops - 20>> <<set $workers.scavengers to $workers.scavengers + 20>> <<goto "workers">> <</link>> <<else>> Add 20 <</if>>| <<if $workers.freePops >= 50>> <<link "Add 50">> <<set $workers.freePops to $workers.freePops - 50>> <<set $workers.scavengers to $workers.scavengers + 50>> <<goto "workers">> <</link>> <<else>> Add 50 <</if>>| <<if $workers.freePops >= 100>> <<link "Add 100">> <<set $workers.freePops to $workers.freePops - 100>> <<set $workers.scavengers to $workers.scavengers + 100>> <<goto "workers">> <</link>> <<else>> Add 100 <</if>>| <<if $workers.freePops >= 1>> <<link "Add all">> <<set $workers.scavengers to $workers.scavengers + $workers.freePops>> <<set $workers.freePops to 0>> <<goto "workers">> <</link>> <<else>> Add all <</if>> <</nobr>> <<nobr>> <<if $workers.scavengers >= 1>> <<link "Remove 1">> <<set $workers.freePops++>> <<set $workers.scavengers-->> <<goto "workers">> <</link>> <<else>> Add 1 <</if>>| <<if $workers.scavengers >= 5>> <<link "Remove 5">> <<set $workers.freePops to $workers.freePops + 5>> <<set $workers.scavengers to $workers.scavengers - 5>> <<goto "workers">> <</link>> <<else>> Add 5 <</if>>| <<if $workers.scavengers >= 10>> <<link "Remove 10">> <<set $workers.freePops to $workers.freePops + 10>> <<set $workers.scavengers to $workers.scavengers - 10>> <<goto "workers">> <</link>> <<else>> Remove 10 <</if>>| <<if $workers.scavengers >= 20>> <<link "Remove 20">> <<set $workers.freePops to $workers.freePops + 20>> <<set $workers.scavengers to $workers.scavengers - 20>> <<goto "workers">> <</link>> <<else>> Remove 20 <</if>>| <<if $workers.scavengers >= 50>> <<link "Remove 50">> <<set $workers.freePops to $workers.freePops + 50>> <<set $workers.scavengers to $workers.scavengers - 50>> <<goto "workers">> <</link>> <<else>> Remove 50 <</if>>| <<if $workers.scavengers >= 100>> <<link "Remove 100">> <<set $workers.freePops to $workers.freePops + 100>> <<set $workers.scavengers to $workers.scavengers - 100>> <<goto "workers">> <</link>> <<else>> Remove 100 <</if>>| <<if $workers.scavengers > 0>> <<link "Empty">> <<set $workers.freePops to $workers.freePops + $workers.scavengers>> <<set $workers.scavengers to 0>> <<goto "workers">> <</link>> <<else>> Empty <</if>> <</nobr>>
<<nobr>> <<if $workers.freePops >= 1>> <<link "Add 1">> <<set $workers.freePops-->> <<set $workers.engineers++>> <<goto "workers">> <</link>> <<else>> Add 1 <</if>>| <<if $workers.freePops >= 5>> <<link "Add 5">> <<set $workers.freePops to $workers.freePops - 5>> <<set $workers.engineers to $workers.engineers + 5>> <<goto "workers">> <</link>> <<else>> Add 5 <</if>>| <<if $workers.freePops >= 10>> <<link "Add 10">> <<set $workers.freePops to $workers.freePops - 10>> <<set $workers.engineers to $workers.engineers + 10>> <<goto "workers">> <</link>> <<else>> Add 10 <</if>>| <<if $workers.freePops >= 20>> <<link "Add 20">> <<set $workers.freePops to $workers.freePops - 20>> <<set $workers.engineers to $workers.engineers + 20>> <<goto "workers">> <</link>> <<else>> Add 20 <</if>>| <<if $workers.freePops >= 50>> <<link "Add 50">> <<set $workers.freePops to $workers.freePops - 50>> <<set $workers.engineers to $workers.engineers + 50>> <<goto "workers">> <</link>> <<else>> Add 50 <</if>>| <<if $workers.freePops >= 100>> <<link "Add 100">> <<set $workers.freePops to $workers.freePops - 100>> <<set $workers.engineers to $workers.engineers + 100>> <<goto "workers">> <</link>> <<else>> Add 100 <</if>>| <<if $workers.freePops >= 1>> <<link "Add all">> <<set $workers.engineers to $workers.engineers + $workers.freePops>> <<set $workers.freePops to 0>> <<goto "workers">> <</link>> <<else>> Add all <</if>> <</nobr>> <<nobr>> <<if $workers.engineers >= 1>> <<link "Remove 1">> <<set $workers.freePops++>> <<set $workers.engineers-->> <<goto "workers">> <</link>> <<else>> Add 1 <</if>>| <<if $workers.engineers >= 5>> <<link "Remove 5">> <<set $workers.freePops to $workers.freePops + 5>> <<set $workers.engineers to $workers.engineers - 5>> <<goto "workers">> <</link>> <<else>> Add 5 <</if>>| <<if $workers.engineers >= 10>> <<link "Remove 10">> <<set $workers.freePops to $workers.freePops + 10>> <<set $workers.engineers to $workers.engineers - 10>> <<goto "workers">> <</link>> <<else>> Remove 10 <</if>>| <<if $workers.engineers >= 20>> <<link "Remove 20">> <<set $workers.freePops to $workers.freePops + 20>> <<set $workers.engineers to $workers.engineers - 20>> <<goto "workers">> <</link>> <<else>> Remove 20 <</if>>| <<if $workers.engineers >= 50>> <<link "Remove 50">> <<set $workers.freePops to $workers.freePops + 50>> <<set $workers.engineers to $workers.engineers - 50>> <<goto "workers">> <</link>> <<else>> Remove 50 <</if>>| <<if $workers.engineers >= 100>> <<link "Remove 100">> <<set $workers.freePops to $workers.freePops + 100>> <<set $workers.engineers to $workers.engineers - 100>> <<goto "workers">> <</link>> <<else>> Remove 100 <</if>>| <<if $workers.engineers > 0>> <<link "Empty">> <<set $workers.freePops to $workers.freePops + $workers.engineers>> <<set $workers.engineers to 0>> <<goto "workers">> <</link>> <<else>> Empty <</if>> <</nobr>>
<<nobr>> Add: <<if $workers.freePops >= 1>> <<link "1">> <<set $workers.freePops-->> <<set $workers.engineers++>> <<goto "workers">> <</link>> <<else>> 1 <</if>>| <<if $workers.freePops >= 5>> <<link "5">> <<set $workers.freePops to $workers.freePops - 5>> <<set $workers.engineers to $workers.engineers + 5>> <<goto "workers">> <</link>> <<else>> 5 <</if>>| <<if $workers.freePops >= 10>> <<link "10">> <<set $workers.freePops to $workers.freePops - 10>> <<set $workers.engineers to $workers.engineers + 10>> <<goto "workers">> <</link>> <<else>> 10 <</if>>| <<if $workers.freePops >= 20>> <<link "20">> <<set $workers.freePops to $workers.freePops - 20>> <<set $workers.engineers to $workers.engineers + 20>> <<goto "workers">> <</link>> <<else>> 20 <</if>>| <<if $workers.freePops >= 50>> <<link "50">> <<set $workers.freePops to $workers.freePops - 50>> <<set $workers.engineers to $workers.engineers + 50>> <<goto "workers">> <</link>> <<else>> 50 <</if>> <</nobr>> <<nobr>> Remove: <<if $workers.engineers >= 1>> <<link "1">> <<set $workers.freePops++>> <<set $workers.engineers-->> <<goto "workers">> <</link>> <<else>> 1 <</if>>| <<if $workers.engineers >= 5>> <<link "5">> <<set $workers.freePops to $workers.freePops + 5>> <<set $workers.engineers to $workers.engineers - 5>> <<goto "workers">> <</link>> <<else>> 5 <</if>>| <<if $workers.engineers >= 10>> <<link "10">> <<set $workers.freePops to $workers.freePops + 10>> <<set $workers.engineers to $workers.engineers - 10>> <<goto "workers">> <</link>> <<else>> 10 <</if>>| <<if $workers.engineers >= 20>> <<link "20">> <<set $workers.freePops to $workers.freePops + 20>> <<set $workers.engineers to $workers.engineers - 20>> <<goto "workers">> <</link>> <<else>> 20 <</if>>| <<if $workers.engineers >= 50>> <<link "50">> <<set $workers.freePops to $workers.freePops + 50>> <<set $workers.engineers to $workers.engineers - 50>> <<goto "workers">> <</link>> <<else>> 50 <</if>> <</nobr>> <<nobr>> <<if $workers.freePops >= 1>> <<link "Add All">> <<set $workers.engineers to $workers.engineers + $workers.freePops>> <<set $workers.freePops to 0>> <<goto "workers">> <</link>> <<else>> Add All <</if>> | <<if $workers.engineers > 0>> <<link "Remove All">> <<set $workers.freePops to $workers.freePops + $workers.engineers>> <<set $workers.engineers to 0>> <<goto "workers">> <</link>> <<else>> Remove All <</if>> <</nobr>>
''Construction Queue'':<<nobr>> <<if $constructionQueue.length == 0>> //Empty// <<else>> <<for _i to 0; _i lt $constructionQueue.length; _i++>> <<capture _i>> <br> <<print $constructionQueue[_i].name>> <br> Progress: <<print $constructionQueue[_i].progress>>/<<print $constructionQueue[_i].cost>> <br> Active: <<if $constructionQueue[_i].active>> @@color:lightGreen;Yes@@<<else>> No<</if>> <br> <<link "Cancel">> <<cancelProject _i>> <<goto "industry">> <</link>> <<if !($constructionQueue[_i].active)>> | <<link "Make Active">><<makeProjectActive _i>><<goto "industry">><</link>><</if>> <</capture>> <</for>> <</if>> <</nobr>>
<<widget updateActive>> /* construction */ <<if $constructionQueue.length > 0>> <<set _isActive to false>> <<for _i to 0; _i lt $constructionQueue.length; _i++>> <<if $constructionQueue[_i].active>> <<set _isActive to true>> <</if>> <</for>> <<if !(_isActive)>> <<set $constructionQueue[0].active to true>> <</if>> <</if>> /* Research */ <<if $researchQueue.length > 0>> <<set _isActive to false>> <<for _i to 0; _i lt $researchQueue.length; _i++>> <<if $researchQueue[_i].active>> <<set _isActive to true>> <</if>> <</for>> <<if !(_isActive)>> <<set $researchQueue[0].active to true>> <</if>> <</if>> <</widget>> <<widget makeProjectActive>><<nobr>> <<for _i to 0; _i lt $constructionQueue.length; _i++>> <<if $constructionQueue[_i].active>> <<set $constructionQueue[_i].active to false>> <</if>> <</for>> <<set $constructionQueue[$args[0]].active to true>> <</nobr>><</widget>> <<widget makeResearchActive>><<nobr>> <<for _i to 0; _i lt $researchQueue.length; _i++>> <<if $researchQueue[_i].active>> <<set $researchQueue[_i].active to false>> <</if>> <</for>> <<set $researchQueue[$args[0]].active to true>> <</nobr>><</widget>> <<widget cancelProject>><<nobr>> /* List of all upgrades */ <<if $constructionQueue[_i].uID == $pavedRoads.uID>> <<set $pavedRoads.inQueue to false>> <<set $pavedRoads.active to false>> <</if>> <<set $constructionQueue.deleteAt(_i)>> <</nobr>><</widget>> <<widget cancelResearch>><<nobr>> /* List of all upgrades */ <<if $researchQueue[_i].uID == $mechanics1.uID>> <<set $mechanics1.inQueue to false>> <<set $mechanics1.active to false>> <</if>> <<set $researchQueue.deleteAt(_i)>> <</nobr>><</widget>> <<widget applyUpgrades>><<nobr>> /* reset upgrade variables */ <<set $farmerUpgradeBonus to 0>> /* add bonuses up in their relevant variables */ <<if $pavedRoads.completed>> <<set $farmerUpgradeBonus to $farmerUpgradeBonus + 0.2>> <</if>> <</nobr>><</widget>> <<widget applyResarch>><<nobr>> /* reset upgrade variables */ <<set $farmerUpgradeBonus to 0>> <<set $scavUpgradeBonus to 0>> /* add bonuses up in their relevant variables */ /* upgrades */ <<if $pavedRoads.completed>> <<set $farmerUpgradeBonus to $farmerUpgradeBonus + 0.2>> <</if>> /* research */ <<if $mechanics1.completed>> <<set $scavUpgradeBonus to $scavUpgradeBonus + 0.2>> <</if>> <</nobr>><</widget>>
/* upgrade variables */ <<set $farmerUpgradeBonus to 0>> <<set $scavUpgradeBonus to 0>> <<set $uIDCompleted to -1>> <<set $rIDCompleted to -1>> /* upgrades */ <<set $pavedRoads to { /* +0.2 food per farmer */ uID: 0, name: "Paved Roads", cost: 20, money: 100, progress: 0, completed: false, inQueue: false, active: false, paused: false } >>
<<nobr>> /* Find the active project and update its status */ <<set $uIDCompleted to -1>> <<set $finishedProject to "none">> <<for _i to 0; _i lt $constructionQueue.length; _i++>> <<if $constructionQueue[_i].active>> <<set $constructionQueue[_i].progress to ($constructionQueue[_i].progress + ($workers.engineers * $baseProgressPerEngineer))>> <<if $constructionQueue[_i].progress >= $constructionQueue[_i].cost>> <<set $uIDCompleted to $constructionQueue[_i].uID>> <<set $finishedProject to $constructionQueue[_i].name>> <<set $constructionQueue.deleteAt(_i)>> <<break>> <</if>> <</if>> <</for>> /* Here we check which upgrade has finished and update it */ <<if $uIDCompleted == $pavedRoads.uID>> <<set $pavedRoads.completed to true>> <<set $pavedRoads.inQueue to false>> <<set $pavedRoads.active to false>> <<applyUpgrades>> <</if>> <</nobr>>
<<if $constructionQueue.length > 0>> ''Construction'': <<nobr>> <<if $uIDCompleted < 0>> <<for _i to 0; _i lt $constructionQueue.length; _i++>> <<if $constructionQueue[_i].active>> <<print $constructionQueue[_i].name>> is being worked on. <<if $workers.engineers > 0>> It will take approximately <<print Math.trunc(Math.clamp(($constructionQueue[_i].cost - $constructionQueue[_i].progress) / ($workers.engineers * $baseProgressPerEngineer)), 1, 9999)>> <</if>> <</if>> <</for>> <<else>> $finishedProject was completed! <</if>> <</nobr>> <</if>>
''Scientists'': The city currently employs @@color:yellow;<<print $workers.scientists>>@@ scientist. Each scientist contributes $baseProgressPerScientist point of progress to the current project. <<display "scientist buttons">> <<display "researchQueue">>
/* Research */ <<set $mechanics1 to { rID: 0, name: "Basic Mechanics", cost: 20, money: 100, progress: 0, completed: false, inQueue: false, active: false, paused: false } >> /* +0.2 scrap per scavenger */ /* Unlocks tractors for farms */ <<set $electronics1 to { /* +0.2 points per scientist */ /* Unlocks computers for workshops */ rID: 1, name: "Basic Electronics", cost: 20, money: 100, progress: 0, completed: false, inQueue: false, active: false, paused: false } >> <<set $medicine1 to { /* +0.02 pop growth */ /* Unlocks hospital for city */ rID: 2, name: "Basic Medicine", cost: 20, money: 100, progress: 0, completed: false, inQueue: false, active: false, paused: false } >> <<set $chemistry to { /* +0.2 tax income from scavengers */ /* Unlocks refrigeration for farms */ rID: 3, name: "Chemistry", cost: 20, money: 100, progress: 0, completed: false, inQueue: false, active: false, paused: false } >> <<set $titanomy1 to { /* +0.2 monthly growth for giant */ /* Unlocks flora giantification for farms */ rID: 4, name: "Basic Titanomy", cost: 20, money: 100, progress: 0, completed: false, inQueue: false, active: false, paused: false } >> <<set $titanomy2 to { /* +0.3 monthly growth for giant */ /* Unlocks fauna giantification for farms */ rID: 5, name: "Advanced Titanomy", cost: 50, money: 100, progress: 0, completed: false, inQueue: false, active: false, paused: false } >>
[WiP]
''Research Queue'':<<nobr>> <<if $researchQueue.length == 0>> //Empty// <<else>> <<for _i to 0; _i lt $researchQueue.length; _i++>> <<capture _i>> <br> <<print $researchQueue[_i].name>> <br> Progress: <<print $researchQueue[_i].progress>>/<<print $researchQueue[_i].cost>> <br> Active: <<if $researchQueue[_i].active>> @@color:lightGreen;Yes@@<<else>> No<</if>> <br> <<link "Cancel">> <<cancelResearch _i>> <<goto "tech">> <</link>> <<if !($researchQueue[_i].active)>> | <<link "Make Active">><<makeResearchActive _i>><<goto "tech">><</link>><</if>> <</capture>> <</for>> <</if>> <</nobr>>
<<nobr>> Add: <<if $workers.freePops >= 1>> <<link "1">> <<set $workers.freePops-->> <<set $workers.scientists++>> <<goto "workers">> <</link>> <<else>> 1 <</if>>| <<if $workers.freePops >= 5>> <<link "5">> <<set $workers.freePops to $workers.freePops - 5>> <<set $workers.scientists to $workers.scientists + 5>> <<goto "workers">> <</link>> <<else>> 5 <</if>>| <<if $workers.freePops >= 10>> <<link "10">> <<set $workers.freePops to $workers.freePops - 10>> <<set $workers.scientists to $workers.scientists + 10>> <<goto "workers">> <</link>> <<else>> 10 <</if>>| <<if $workers.freePops >= 20>> <<link "20">> <<set $workers.freePops to $workers.freePops - 20>> <<set $workers.scientists to $workers.scientists + 20>> <<goto "workers">> <</link>> <<else>> 20 <</if>>| <<if $workers.freePops >= 50>> <<link "50">> <<set $workers.freePops to $workers.freePops - 50>> <<set $workers.scientists to $workers.scientists + 50>> <<goto "workers">> <</link>> <<else>> 50 <</if>> <</nobr>> <<nobr>> Remove: <<if $workers.scientists >= 1>> <<link "1">> <<set $workers.freePops++>> <<set $workers.scientists-->> <<goto "workers">> <</link>> <<else>> 1 <</if>>| <<if $workers.scientists >= 5>> <<link "5">> <<set $workers.freePops to $workers.freePops + 5>> <<set $workers.scientists to $workers.scientists - 5>> <<goto "workers">> <</link>> <<else>> 5 <</if>>| <<if $workers.scientists >= 10>> <<link "10">> <<set $workers.freePops to $workers.freePops + 10>> <<set $workers.scientists to $workers.scientists - 10>> <<goto "workers">> <</link>> <<else>> 10 <</if>>| <<if $workers.scientists >= 20>> <<link "20">> <<set $workers.freePops to $workers.freePops + 20>> <<set $workers.scientists to $workers.scientists - 20>> <<goto "workers">> <</link>> <<else>> 20 <</if>>| <<if $workers.scientists >= 50>> <<link "50">> <<set $workers.freePops to $workers.freePops + 50>> <<set $workers.scientists to $workers.scientists - 50>> <<goto "workers">> <</link>> <<else>> 50 <</if>> <</nobr>> <<nobr>> <<if $workers.freePops >= 1>> <<link "Add All">> <<set $workers.scientists to $workers.scientists + $workers.freePops>> <<set $workers.freePops to 0>> <<goto "workers">> <</link>> <<else>> Add All <</if>> | <<if $workers.scientists > 0>> <<link "Remove All">> <<set $workers.freePops to $workers.freePops + $workers.scientists>> <<set $workers.scientists to 0>> <<goto "workers">> <</link>> <<else>> Remove All <</if>> <</nobr>>
<<nobr>> <<if $workers.freePops >= 1>> <<link "Add 1">> <<set $workers.freePops-->> <<set $workers.scientists++>> <<goto "tech">> <</link>> <<else>> Add 1 <</if>>| <<if $workers.freePops >= 5>> <<link "Add 5">> <<set $workers.freePops to $workers.freePops - 5>> <<set $workers.scientists to $workers.scientists + 5>> <<goto "tech">> <</link>> <<else>> Add 5 <</if>>| <<if $workers.freePops >= 10>> <<link "Add 10">> <<set $workers.freePops to $workers.freePops - 10>> <<set $workers.scientists to $workers.scientists + 10>> <<goto "tech">> <</link>> <<else>> Add 10 <</if>>| <<if $workers.freePops >= 20>> <<link "Add 20">> <<set $workers.freePops to $workers.freePops - 20>> <<set $workers.scientists to $workers.scientists + 20>> <<goto "tech">> <</link>> <<else>> Add 20 <</if>>| <<if $workers.freePops >= 50>> <<link "Add 50">> <<set $workers.freePops to $workers.freePops - 50>> <<set $workers.scientists to $workers.scientists + 50>> <<goto "tech">> <</link>> <<else>> Add 50 <</if>>| <<if $workers.freePops >= 100>> <<link "Add 100">> <<set $workers.freePops to $workers.freePops - 100>> <<set $workers.scientists to $workers.scientists + 100>> <<goto "tech">> <</link>> <<else>> Add 100 <</if>>| <<if $workers.freePops >= 1>> <<link "Add all">> <<set $workers.scientists to $workers.scientists + $workers.freePops>> <<set $workers.freePops to 0>> <<goto "tech">> <</link>> <<else>> Add all <</if>> <</nobr>> <<nobr>> <<if $workers.scientists >= 1>> <<link "Remove 1">> <<set $workers.freePops++>> <<set $workers.scientists-->> <<goto "tech">> <</link>> <<else>> Add 1 <</if>>| <<if $workers.scientists >= 5>> <<link "Remove 5">> <<set $workers.freePops to $workers.freePops + 5>> <<set $workers.scientists to $workers.scientists - 5>> <<goto "tech">> <</link>> <<else>> Add 5 <</if>>| <<if $workers.scientists >= 10>> <<link "Remove 10">> <<set $workers.freePops to $workers.freePops + 10>> <<set $workers.scientists to $workers.scientists - 10>> <<goto "tech">> <</link>> <<else>> Remove 10 <</if>>| <<if $workers.scientists >= 20>> <<link "Remove 20">> <<set $workers.freePops to $workers.freePops + 20>> <<set $workers.scientists to $workers.scientists - 20>> <<goto "tech">> <</link>> <<else>> Remove 20 <</if>>| <<if $workers.scientists >= 50>> <<link "Remove 50">> <<set $workers.freePops to $workers.freePops + 50>> <<set $workers.scientists to $workers.scientists - 50>> <<goto "tech">> <</link>> <<else>> Remove 50 <</if>>| <<if $workers.scientists >= 100>> <<link "Remove 100">> <<set $workers.freePops to $workers.freePops + 100>> <<set $workers.scientists to $workers.scientists - 100>> <<goto "tech">> <</link>> <<else>> Remove 100 <</if>>| <<if $workers.scientists > 0>> <<link "Empty">> <<set $workers.freePops to $workers.freePops + $workers.scientists>> <<set $workers.scientists to 0>> <<goto "tech">> <</link>> <<else>> Empty <</if>> <</nobr>>
<<nobr>> <<if $mechanics1.completed>> <br>Basic Mechanics: <br> //The knowledge necessary to start restoring the tech of the old world// <br> //+0.2 scrap per scavenger// <br> //Unlocks: Advanced Mechanics, Tractors for the farms// <<else>> <<if $city.money >= ($upgradeCostMult * $mechanics1.money) && !$mechanics1.inQueue>> <br><<link "Basic Mechanics">> <<set $mechanics1.inQueue to true>> <<set $researchQueue.push($mechanics1)>> <<set $city.money to $city.money - ($upgradeCostMult * $mechanics1.money)>> <<updateActive>> <<goto "tech">> <</link>> <br> //The knowledge necessary to start restoring the tech of the old world// <br> //+0.2 scrap per scavenger// <br> //Unlocks: Advanced Mechanics, Tractors for the farms// <<elseif $mechanics1.inQueue>> <br>Basic Mechanics: <br> //Researching// <<else>> <br>Basic Mechanics: <br> //Insufficient Funds// <</if>> <</if>> <</nobr>>
<<nobr>> /* Find the active project and update its status */ <<set $rIDCompleted to -1>> <<set $finishedResearch to "none">> <<for _i to 0; _i lt $researchQueue.length; _i++>> <<if $researchQueue[_i].active>> <<set $researchQueue[_i].progress to ($researchQueue[_i].progress + ($workers.scientists * $baseProgressPerScientist))>> <<if $researchQueue[_i].progress >= $researchQueue[_i].cost>> <<set $rIDCompleted to $researchQueue[_i].rID>> <<set $finishedResearch to $researchQueue[_i].name>> <<set $researchQueue.deleteAt(_i)>> <<break>> <</if>> <</if>> <</for>> /* Here we check which tech has finished and update it */ <<if $rIDCompleted == $mechanics1.rID>> <<set $mechanics1.completed to true>> <<set $mechanics1.inQueue to false>> <<set $mechanics1.active to false>> <<applyResearch>> <</if>> <</nobr>>
<<if $researchQueue.length > 0>> <<nobr>> <<if $rIDCompleted < 0>> <<for _i to 0; _i lt $researchQueue.length; _i++>> <<if $researchQueue[_i].active>> <<print $researchQueue[_i].name>> is being worked on. <<if $workers.scientists > 0>> It will take approximately <<print Math.trunc(Math.clamp(($researchQueue[_i].cost - $researchQueue[_i].progress) / ($workers.scientists * $baseProgressPerScientist)), 1, 9999)>> <</if>> <</if>> <</for>> <<else>> $finishedResearch was completed! <</if>> <</nobr>> <</if>>
''Guards'': To effectively protect the city and its rural land, you need about <<live Math.trunc($city.land / $baseLandPerGuard) + Math.trunc($city.pop / $basePopPerGuard)>> squads of guards. Currently, $workers.guards squads are out patrolling. <<display "guards buttons">>
[WiP]
''The Army'': Guards are trained citizens, tasked with maintaining the city and its surroundings safe. Together with the $gt.title, there is not much need to establish a permanent fighting force. You may, however, create special units for more //underhanded// operations like scouting, sabotage, and raiding enemy territory. [WiP]
<<nobr>> /* Update relevant variables */ <<updateGuardsRequired>> <<if $workers.freePops >= 1>> <<link "Add 1">> <<set $workers.freePops-->> <<set $workers.guards++>> <<goto "workers">> <</link>> <<else>> Add 1 <</if>>| <<if $workers.freePops >= 5>> <<link "Add 5">> <<set $workers.freePops to $workers.freePops - 5>> <<set $workers.guards to $workers.guards + 5>> <<goto "workers">> <</link>> <<else>> Add 5 <</if>>| <<if $workers.freePops >= 10>> <<link "Add 10">> <<set $workers.freePops to $workers.freePops - 10>> <<set $workers.guards to $workers.guards + 10>> <<goto "workers">> <</link>> <<else>> Add 10 <</if>>| <<if $workers.freePops >= 20>> <<link "Add 20">> <<set $workers.freePops to $workers.freePops - 20>> <<set $workers.guards to $workers.guards + 20>> <<goto "workers">> <</link>> <<else>> Add 20 <</if>>| <<if $workers.freePops >= 50>> <<link "Add 50">> <<set $workers.freePops to $workers.freePops - 50>> <<set $workers.guards to $workers.guards + 50>> <<goto "workers">> <</link>> <<else>> Add 50 <</if>>| <<if $workers.freePops >= 100>> <<link "Add 100">> <<set $workers.freePops to $workers.freePops - 100>> <<set $workers.guards to $workers.guards + 100>> <<goto "workers">> <</link>> <<else>> Add 100 <</if>>| <<if $guardsRequired > $workers.guards && $workers.freePops >= ($guardsRequired - $workers.guards)>> <<link "Match Requirement">> <<if $workers.freePops > ($guardsRequired - $workers.guards)>> <<set $workers.freePops to $workers.freePops - ($guardsRequired - $workers.guards)>> <<set $workers.guards to $guardsRequired>> <<goto "workers">> <<else>> <<set $workers.guards to $workers.guards + $workers.freePops>> <<set $workers.freePops to 0>> <<goto "workers">> <</if>> <</link>> <<else>> Match requirement <</if>>| <<if $workers.freePops >= 1>> <<link "Add all">> <<set $workers.guards to $workers.guards + $workers.freePops>> <<set $workers.freePops to 0>> <<goto "workers">> <</link>> <<else>> Add all <</if>> <</nobr>> <<nobr>> <<if $workers.guards >= 1>> <<link "Remove 1">> <<set $workers.freePops++>> <<set $workers.guards-->> <<goto "workers">> <</link>> <<else>> Add 1 <</if>>| <<if $workers.guards >= 5>> <<link "Remove 5">> <<set $workers.freePops to $workers.freePops + 5>> <<set $workers.guards to $workers.guards - 5>> <<goto "workers">> <</link>> <<else>> Add 5 <</if>>| <<if $workers.guards >= 10>> <<link "Remove 10">> <<set $workers.freePops to $workers.freePops + 10>> <<set $workers.guards to $workers.guards - 10>> <<goto "workers">> <</link>> <<else>> Remove 10 <</if>>| <<if $workers.guards >= 20>> <<link "Remove 20">> <<set $workers.freePops to $workers.freePops + 20>> <<set $workers.guards to $workers.guards - 20>> <<goto "workers">> <</link>> <<else>> Remove 20 <</if>>| <<if $workers.guards >= 50>> <<link "Remove 50">> <<set $workers.freePops to $workers.freePops + 50>> <<set $workers.guards to $workers.guards - 50>> <<goto "workers">> <</link>> <<else>> Remove 50 <</if>>| <<if $workers.guards >= 100>> <<link "Remove 100">> <<set $workers.freePops to $workers.freePops + 100>> <<set $workers.guards to $workers.guards - 100>> <<goto "workers">> <</link>> <<else>> Remove 100 <</if>>| <<if $workers.guards > 0>> <<link "Empty">> <<set $workers.freePops to $workers.freePops + $workers.guards>> <<set $workers.guards to 0>> <<goto "workers">> <</link>> <<else>> Empty <</if>> <</nobr>>
''The $gt.title'': <<display "giantDescription">>
''The $gt.title Servants'': For <<pp>> personal care, the $gt.title requires <<live Math.trunc($gt.size / $baseFeetPerServant)>> squads of servants. Currently $workers.servants are assigned to <<pp>>. <<display "servant buttons">>
Double-click this passage to edit it.
The $gt.title is the giant that claimed your city for <<po>>self, <<p>> is a <<if $gt.sex is "female">>woman<<else>>man<</if>> belonging to the mysterious race of giants that has appeared on Earth two or so centuries ago.<<if !($gt.name === "Unknown")>><<ppc>> real name is $gt.name.<</if>> Physically, <<p>> appears as a <<print $gt.apparentAge>> year old <<print $gt.ethnicity>> <<if $gt.sex is "female">>woman<<else>>man<</if>>, <<print $gt.size>> feet in height, or about <<print Math.trunc($gt.size / 6)>> times a common human. Their <<print $gt.appearance>> face is framed by <<pp>> <<print $gt.hairColor>> hair. <<ppc>> <<print $gt.skinColor>> skin is complemented by their <<print $gt.eyeColor>> eyes. <<if $gt.weight > $gt.muscles>><<weight>><<else>><<muscles>><</if>><<ass>> <<if $gt.sex === "female">><<boobs>><<else>><<dick>><</if>>
<<widget weight>><<nobr>> /* args[0] == adjective will give you the adjective, "complete" or empty will give you a complete sentence */ <<if $gt.weight >= 85>> <<if $args[0] === "adjective">> obese <<else>> <<pc>> appears to be severely obese. <</if>> <<elseif $gt.weight >= 70>> <<if $args[0] === "adjective">> overweight <<else>> <<pc>> is quite overweight. <</if>> <<elseif $gt.weight >= 40>> <<if $args[0] === "adjective">> of average weight <</if>> <<elseif $gt.weight >= 20>> <<if $args[0] === "adjective">> skinny <<else>> <<pc>> looks quite skinny. <</if>> <<else>> <<if $args[0] === "adjective">> underweight <<else>> <<pc>> looks seriously underweight. <</if>> <</if>> <</nobr>><</widget>> <<widget muscles>><<nobr>> /* args[0] == adjective will give you the adjective, "complete" or empty will give you a complete sentence */ <<if $gt.muscles >= 85>> <<if $args[0] === "adjective">> extremely muscular <<else>> <<pc>> looks like a professional bodybuilder. <</if>> <<elseif $gt.muscles >= 70>> <<if $args[0] === "adjective">> quite muscular <<else>> <<pc>> is quite muscular. <</if>> <<elseif $gt.muscles >= 40>> <<if $args[0] === "adjective">> average <</if>> <<elseif $gt.muscles >= 20>> <<if $args[0] === "adjective">> delicate <<else>> <<pc>> looks quite delicate. <</if>> <<else>> <<if $args[0] === "adjective">> frail <<else>> <<pc>> just looks very frail. <</if>> <</if>> <</nobr>><</widget>> <<widget boobs>><<nobr>> /* args[0] == adjective will give you the adjective, "complete" or empty will give you a complete sentence */ <<if $gt.boobs >= 85>> <<if $args[0] === "adjective">> huge <<else>> <<pc>> has a very generous chest. <</if>> <<elseif $gt.boobs >= 70>> <<if $args[0] === "adjective">> large <<else>> <<ppc>> boobs are quite impressive. <</if>> <<elseif $gt.boobs >= 40>> <<if $args[0] === "adjective">> average <</if>> <<elseif $gt.boobs >= 20>> <<if $args[0] === "adjective">> modest <<else>> <<ppc>> boobs are quite modest. <</if>> <<else>> <<if $args[0] === "adjective">> non-existent <<else>> <<ppc>> chest is nearly flat. <</if>> <</if>> <</nobr>><</widget>> <<widget ass>><<nobr>> /* args[0] == adjective will give you the adjective, "complete" or empty will give you a complete sentence */ <<if $gt.ass >= 85>> <<if $args[0] === "adjective">> huge <<else>> <<pc>> has a humongous ass. <</if>> <<elseif $gt.ass >= 70>> <<if $args[0] === "adjective">> large <<else>> <<ppc>> ass is unquestionably huge. <</if>> <<elseif $gt.ass >= 40>> <<if $args[0] === "adjective">> average <</if>> <<elseif $gt.ass >= 20>> <<if $args[0] === "adjective">> modest <<else>> <<pc>> has a little bubble butt. <</if>> <<else>> <<if $args[0] === "adjective">> non-existent <<else>> <<ppc>> ass is almost non-existent. <</if>> <</if>> <</nobr>><</widget>> <<widget dick>><<nobr>> /* args[0] == adjective will give you the adjective, "complete" or empty will give you a complete sentence */ <<if $gt.dick >= 85>> <<if $args[0] === "adjective">> huge <<else>> <<ppc>> dick is terrifyingly huge. <</if>> <<elseif $gt.dick >= 70>> <<if $args[0] === "adjective">> large <<else>> <<ppc>> cock is impressively large. <</if>> <<elseif $gt.dick >= 40>> <<if $args[0] === "adjective">> average <</if>> <<elseif $gt.dick >= 20>> <<if $args[0] === "adjective">> modest <<else>> <<pc>> member is rather modest, for a giant. <</if>> <<else>> <<if $args[0] === "adjective">> tiny <<else>> <<ppc>> dick is disroportionately small. <</if>> <</if>> <</nobr>><</widget>>
''Services'': Service workers are workers dedicated to the wellbeing of the citizens: Cleaners, cooks, teachers, merchants, doctors, and more. The city needs <<live Math.trunc($city.pop / $basePopPerService)>> service worker teams to function well. Currently, it employs <<print $workers.service>>. <<display "service buttons">>
<<calcTaxes>>''Taxes'': Your citizens are able to generate some income in the form of taxation for your treasury, if they are employed. -Unemployed: @@color:yellow;<<print Math.trunc($workers.freePops * $baseFreePopTax)>>@@ //$baseFreePopTax per unemployed worker// -Farmers: @@color:yellow;<<print Math.trunc($workers.farmers * $baseFarmerTax)>>@@ //$baseFarmerTax per farmer// -Scavengers: @@color:yellow;<<print Math.trunc($workers.scavengers * $baseScavengerTax)>>@@ //$baseScavengerTax per scavenger// -Servants: @@color:yellow;<<print Math.trunc($workers.servants * $baseServantTax)>>@@ //$baseServantTax per servant// -Service: @@color:yellow;<<print Math.trunc($workers.service * $baseServiceTax)>>@@ //$baseServiceTax per service worker// -Guards: @@color:yellow;<<print Math.trunc($workers.guards * $baseGuardTax)>>@@ //$baseGuardTax per guard// -Engineers: @@color:yellow;<<print Math.trunc($workers.engineers * $baseEngineerTax)>>@@ //$baseEngineerTax per engineer// -Scientists: @@color:yellow;<<print Math.trunc($workers.scientists * $baseScientistTax)>>@@ //$baseScientistTax per scientist// Total: <<if $taxRevenue > 0>>@@color:lightGreen;<<print $taxRevenue>>@@<<else>>@@color:red;<<print $taxRevenue>>@@<</if>>
[WiP]
''Food Production'':<<updateFoodConsumption>> -Farmers: @@color:yellow;<<print Math.trunc($workers.farmers * ($baseFarmProd + $farmerUpgradeBonus))>>@@ //<<print ($baseFarmProd + $farmerUpgradeBonus)>> per farmer// ''Food Consumption'': -The $gt.title: @@color:yellow;$gtFoodConsumption@@ //The amount of food a human eats, multiplied by the number of times <<p>> is bigger than a human, cubed// -Population: @@color:yellow;$cityFoodConsumption@@ //1 per 100 citizens// With the current technology, @@color:yellow;<<print $baseFoodDecayRate>>@@% of the food in storage will spoil. Right now it corresponds to @@color:red;<<print Math.trunc($city.foodStored * 0.03)>>@@
<<calcTaxes>>''Taxes'': Your citizens are able to generate some income in the form of taxation for your treasury, if they are employed. -Unemployed: @@color:yellow;<<print Math.trunc($workers.freePops * $baseFreePopTax)>>@@ //$baseFreePopTax per unemployed worker// -Farmers: @@color:yellow;<<print Math.trunc($workers.farmers * $baseFarmerTax)>>@@ //$baseFarmerTax per farmer// -Scavengers: @@color:yellow;<<print Math.trunc($workers.scavengers * $baseScavengerTax)>>@@ //$baseScavengerTax per scavenger// -Servants: @@color:yellow;<<print Math.trunc($workers.servants * $baseServantTax)>>@@ //$baseServantTax per servant// -Service: @@color:yellow;<<print Math.trunc($workers.service * $baseServiceTax)>>@@ //$baseServiceTax per service worker// -Guards: @@color:yellow;<<print Math.trunc($workers.guards * $baseGuardTax)>>@@ //$baseGuardTax per guard// -Engineers: @@color:yellow;<<print Math.trunc($workers.engineers * $baseEngineerTax)>>@@ //$baseEngineerTax per engineer// -Scientists: @@color:yellow;<<print Math.trunc($workers.scientists * $baseScientistTax)>>@@ //$baseScientistTax per scientist// Total: <<if $taxRevenue > 0>>@@color:lightGreen;<<print $taxRevenue>>@@<<else>>@@color:red;<<print $taxRevenue>>@@<</if>>
''Scavenging'': -Scavengers: @@color:yellow;<<print Math.trunc($workers.scavengers * ($baseScrapProd))>>@@ //<<print ($baseScrapProd)>> per scavenger//